# 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
- 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
- source: config
target: /config/config
- source: users
target: /config/users