Files
ansible/roles/docker/templates/syncthing-compose.yml.j2
T
PhilandClaude Opus 5.5 c0145dd5a2 Harden permissions, close exposed ports, and clean up tasks
- Quote file modes. Unquoted 644/755 were read as decimal, so files
  landed as 1204. Templates holding secrets are now 0640 root:docker.
- Stop publishing Authentik 9000/9443 and Karakeep 3000 (Caddy reaches
  them over the docker network), bind dir2opds to the Tailscale IP, and
  drop Caddy's unused 8448.
- Atuin login uses no_log and only runs once; the installer only runs
  when Atuin is missing.
- Make chsh, ufw-docker install, the bat symlink and Atuin dotfiles
  idempotent.
- Back up the Paperless data volume (SQLite DB), stopping Paperless
  during the backup.
- Close public sign-up on kosync and ByteStash.
- Replace hardcoded IPs and domains with variables.
- Remove teardown tasks and templates for 9 retired services.
- Fix the dockcheck comment: it auto-updates labelled containers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 21:03:54 -06:00

33 lines
970 B
Django/Jinja

services:
syncthing:
image: syncthing/syncthing
container_name: syncthing
hostname: my-syncthing
labels:
glance.name: Syncthing
glance.icon: si:syncthing
glance.url: https://{{ network.tailscale_hostname }}:8384
glance.description: Syncthing core
glance.id: Syncthing
mag37.dockcheck.update: true
environment:
- PUID=1000
- PGID=1000
volumes:
- home:/var/syncthing
ports:
- {{ network.docker_host_ip }}:8384:8384 # Web UI
- {{ network.docker_host_ip }}:22000:22000/tcp # TCP file transfers
- {{ network.docker_host_ip }}:22000:22000/udp # QUIC file transfers
- {{ network.docker_host_ip }}:21027:21027/udp # Receive local discovery broadcasts
restart: unless-stopped
healthcheck:
test: curl -fkLsS -m 2 127.0.0.1:8384/rest/noauth/health | grep -o --color=never OK || exit 1
interval: 1m
timeout: 10s
retries: 3
volumes:
home: