29 lines
1002 B
YAML
29 lines
1002 B
YAML
services:
|
|
syncthing:
|
|
extends:
|
|
file: ${TEMPLATES_PATH}
|
|
service: default
|
|
image: syncthing/syncthing
|
|
container_name: syncthing
|
|
volumes:
|
|
- ${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" |