version: '3.8' services: supervisor-ui: build: context: . dockerfile: Dockerfile args: # Build-time arguments (optional, defaults in Dockerfile) SUPERVISOR_HOST: ${SUPERVISOR_HOST:-localhost} SUPERVISOR_PORT: ${SUPERVISOR_PORT:-9001} # For using pre-built image from registry: # image: dev.pivoine.art/valknar/supervisor-ui:latest image: supervisor-ui:latest container_name: supervisor-ui ports: - "3000:3000" environment: # Runtime environment variables (can override build-time values) - NODE_ENV=production - SUPERVISOR_HOST=${SUPERVISOR_HOST:-localhost} - SUPERVISOR_PORT=${SUPERVISOR_PORT:-9001} - SUPERVISOR_USERNAME=${SUPERVISOR_USERNAME:-} - SUPERVISOR_PASSWORD=${SUPERVISOR_PASSWORD:-} restart: unless-stopped healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000/api/health', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] interval: 30s timeout: 10s retries: 3 start_period: 5s networks: - supervisor-network networks: supervisor-network: name: supervisor-network driver: bridge