services: safetwitch-frontend: container_name: safetwitch-frontend hostname: safetwitch-frontend security_opt: - no-new-privileges:true cap_drop: - ALL cap_add: - CHOWN - SETGID - SETUID restart: always image: codeberg.org/safetwitch/safetwitch:latest ports: - "5600:8280" environment: - SAFETWITCH_BACKEND_DOMAIN=twitchbackend.example.org # Change accordingly - SAFETWITCH_INSTANCE_DOMAIN=twitch.example.org # Change accordingly - SAFETWITCH_HTTPS=true - SAFETWITCH_DEFAULT_LOCALE=en - SAFETWITCH_FALLBACK_LOCALE=en - SAFETWITCH_DEFAULT_THEME=dark healthcheck: test: wget -nv --tries=1 --spider http://localhost:8280 interval: 30s timeout: 5s retries: 2 safetwitch-backend: container_name: safetwitch-backend hostname: safetwitch-backend user: 65534:65534 read_only: true security_opt: - no-new-privileges:true cap_drop: - ALL restart: always image: codeberg.org/safetwitch/safetwitch-backend:latest ports: - "5601:7000" # You'll need a separate config in your Caddyfile for this! environment: - PORT=7000 - URL=https://twitchbackend.example.org # Change accordingly. healthcheck: test: wget -nv --tries=1 --spider http://localhost:7000/api/discover interval: 30s timeout: 5s retries: 2 watchtower: image: containrrr/watchtower volumes: - /var/run/docker.sock:/var/run/docker.sock command: --interval 3600