services:
  syncthing:
    image: docker.io/syncthing/syncthing:latest
    container_name: syncthing
    hostname: ${SYNCTHING_HOSTNAME:?} # Имя устройства в сети Syncthing
    restart: always
    environment:
      - PUID=${OWNER_USERID:?} # ID пользователя в системе (можно узнать командой id)
      - PGID=${OWNER_GROUPID:?} # ID группы в системе
    volumes:
      - ./config:/var/syncthing/config:Z
      - ${SYNCTHING_FOLDER:?}:/var/syncthing/Sync:Z # Папка с данными (путь на хосте:путь в контейнере)
    ports:
      - ${SYNCTHING_WEB_UI_PORT:?}:8384 # Web GUI (управление через браузер)
      - 22000:22000/tcp # Передача данных
      - 22000:22000/udp # Передача данных (QUIC)
      - 21027:21027/udp # Локальный поиск (Discovery)
    deploy:
      resources:
        limits:
          cpus: '0.5'
          memory: 256M
        reservations:
          memory: 128M
    networks:
      - syncthing_network

networks:
  syncthing_network:
    name: syncthing_network
    driver: bridge
