Files
home-server-docker/project/infrastructure/syncthing/syncthing.yml
2025-09-07 00:40:40 +02:00

32 lines
1.1 KiB
YAML

services:
syncthing:
extends:
file: ${TEMPLATES_PATH}
service: default
image: syncthing/syncthing
container_name: syncthing
volumes:
- ${EXTERNAL_STORAGE}/notes/Obsidian-sync:/var/syncthing-data/Obsidian-sync
- ${EXTERNAL_STORAGE}/media/pictures/to-sort:/var/syncthing-data/picture-phone
- ${INFRA_PATH}/syncthing/data:/var/syncthing
ports:
- 8384:8384 # Web UI
- 22000:22000/tcp # TCP file transfers
- 22000:22000/udp # QUIC file transfers
- 21027:21027/udp # Receive local discovery broadcasts
networks:
- ip4net
- ip6net
labels:
# Watchtower
- "com.centurylinklabs.watchtower.enable=true"
# Traefik
- "traefik.enable=true"
- "traefik.http.routers.syncthing.rule=Host(`syncthing.${LOCAL_DOMAIN}`)"
- "traefik.http.routers.syncthing.entrypoints=https"
- "traefik.http.routers.syncthing.tls=true"
- "traefik.http.routers.syncthing.service=syncthing-svc"
- "traefik.http.services.syncthing-svc.loadbalancer.server.port=8384"
# Middlewares
#- "traefik.http.routers.syncthing.middlewares=crowdsec-bouncer@file"