volumes: admin_proxy_data: admin_proxy_config: networks: stoat: external: true name: stoat_default admin: services: admin-api: build: context: ./api image: ghcr.io/owner/stoat-admin-api:latest restart: unless-stopped expose: - "5181" volumes: - ./data:/data - ./.env:/app/.env:ro networks: - admin - stoat admin-web: build: context: ./web args: VITE_API_URL: ${ADMIN_WEB_API_URL:-} image: ghcr.io/owner/stoat-admin-web:latest restart: unless-stopped expose: - "80" networks: - admin admin-proxy: image: caddy:latest restart: unless-stopped depends_on: - admin-api - admin-web environment: ADMIN_HOSTNAME: ${ADMIN_HOSTNAME} ports: - "${ADMIN_BIND_IP:-127.0.0.1}:${ADMIN_HTTP_PORT:-80}:80" - "${ADMIN_BIND_IP:-127.0.0.1}:${ADMIN_HTTPS_PORT:-443}:443" volumes: - ./proxy/Caddyfile:/etc/caddy/Caddyfile:ro - admin_proxy_data:/data - admin_proxy_config:/config networks: - admin