name: open-cdx services: router: image: "ghcr.io/dodelidoo-labs/open-cdx:latest" restart: unless-stopped expose: - "8080" environment: OPENCODEX_LISTEN: ":8080" OPENCODEX_PUBLIC_URL: "https://${OPENCODEX_DOMAIN:?set OPENCODEX_DOMAIN}" OPENCODEX_DATABASE: "/var/lib/opencdx/router.db" OPENCODEX_MASTER_KEY_FILE: "/run/secrets/master_key" OPENCODEX_ADMIN_TOKEN_FILE: "/run/secrets/admin_token" secrets: - master_key - admin_token volumes: - /srv/appdata/open-cdx/router:/var/lib/opencdx networks: - private caddy: image: caddy:2.10.2-alpine restart: unless-stopped depends_on: router: condition: service_healthy environment: OPENCODEX_DOMAIN: "${OPENCODEX_DOMAIN:?set OPENCODEX_DOMAIN}" expose: - "80" volumes: - ./Caddyfile:/etc/caddy/Caddyfile:ro - /srv/appdata/open-cdx/caddy-data:/data - /srv/appdata/open-cdx/caddy-config:/config networks: private: npm_proxy: ipv4_address: 192.168.98.24 secrets: master_key: file: /srv/docker/secrets/open-cdx/master_key admin_token: file: /srv/docker/secrets/open-cdx/admin_token networks: private: internal: false npm_proxy: external: true