services: radicale: container_name: radicale image: docker.io/tomsquest/docker-radicale:3.5.4.0 restart: unless-stopped init: true read_only: true cap_add: - CHOWN - KILL - SETGID - SETUID cap_drop: - ALL security_opt: - no-new-privileges:true deploy: resources: limits: memory: 256M pids: 50 volumes: - ${APPDATA_PATH}/radicale/data:/data - ${APPDATA_PATH}/radicale/config:/config:ro ports: - ${PORT}:5232 healthcheck: test: curl -f http://127.0.0.1:5232 || exit 1 interval: 30s retries: 3