diff --git a/docker-compose.yml b/docker-compose.yml index 66b0ca1..3cf1ff3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -19,6 +19,7 @@ include: - ${INFRA_PATH}/crowdsec/crowdsec.yml - ${INFRA_PATH}/homepage/homepage.yml - ${INFRA_PATH}/speedtest/speedtest.yml + - ${INFRA_PATH}/syncthing/syncthing.yml - ${INFRA_PATH}/traefik/traefik.yml - ${INFRA_PATH}/uptime-kuma/uptime-kuma.yml - ${INFRA_PATH}/watchtower/watchtower.yml diff --git a/project/infrastructure/syncthing/syncthing.yml b/project/infrastructure/syncthing/syncthing.yml new file mode 100644 index 0000000..a926bdf --- /dev/null +++ b/project/infrastructure/syncthing/syncthing.yml @@ -0,0 +1,26 @@ +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 + 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" \ No newline at end of file