# vi: ft=yaml version: '3.7' networks: traefik: external: true configs: config: file: /srv/radicale/radicale.conf users: file: /srv/radicale/users services: radicale: image: tomsquest/docker-radicale init: true read_only: true cap_drop: - ALL cap_add: - SETUID - SETGID - CHOWN - KILL healthcheck: test: curl -f http://127.0.0.1:5232 || exit 1 interval: 30s retries: 3 volumes: - type: bind source: /mnt/data/radicale target: /data networks: - traefik deploy: placement: constraints: - "node.labels.radicale == true" labels: - traefik.enable=true - traefik.http.routers.radicale.entrypoints=websecure - traefik.http.routers.radicale.rule=Host(`dav.pim.kunis.nl`) - traefik.http.routers.radicale.tls=true - traefik.http.routers.radicale.tls.certresolver=letsencrypt - traefik.http.routers.radicale.service=radicale - traefik.http.services.radicale.loadbalancer.server.port=5232 - traefik.docker.network=traefik configs: - source: config target: /config/config - source: users target: /config/users