Add com.ghost.tel/stack-type labels to all stacks: - prod (17): Production services from core - dev-only (11): Experimental/device-specific services - public (8): Public-facing services (uplink.tel, sequela.tel) New public stacks from docker-public: - nitter-public: Nitter instance for uplink.tel - freshrss-public: FreshRSS for uplink.tel - rsshub-public: RSSHub for uplink.tel - searx-public: SearXNG for uplink.tel - wikijs-public: Wiki.js for sequela.tel - matomo-public: Matomo analytics for sequela.tel Also fixes: - Remove obsolete 'version' key from compose files - Fix snowflake to remove duplicate watchtower service - Standardize compose file formatting Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
37 lines
798 B
YAML
37 lines
798 B
YAML
services:
|
|
radicale:
|
|
image: tomsquest/docker-radicale
|
|
container_name: radicale
|
|
restart: unless-stopped
|
|
init: true
|
|
read_only: true
|
|
security_opt:
|
|
- no-new-privileges: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
|
|
expose:
|
|
- 5232
|
|
networks:
|
|
- web
|
|
volumes:
|
|
- ./data:/data
|
|
labels:
|
|
- "com.ghost.tel/stack-type=prod"
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.radicale.entrypoints=https"
|
|
- "traefik.http.routers.radicale.rule=Host(`radicale.${DOMAIN}`)"
|
|
- "traefik.http.routers.radicale.tls.certresolver=http"
|
|
|
|
networks:
|
|
web:
|
|
external: true
|