services: arkyv-engine: build: context: . dockerfile: Dockerfile args: # This URI is used by the browser, not by the application container. NEXT_PUBLIC_SPACETIMEDB_URI: ${NEXT_PUBLIC_SPACETIMEDB_URI:-http://127.0.0.1:3000} NEXT_PUBLIC_SPACETIMEDB_DB_NAME: ${NEXT_PUBLIC_SPACETIMEDB_DB_NAME:-arkyv-engine} ports: - "3005:3000" environment: NEXT_PUBLIC_SPACETIMEDB_URI: ${NEXT_PUBLIC_SPACETIMEDB_URI:-http://127.0.0.1:3000} NEXT_PUBLIC_SPACETIMEDB_DB_NAME: ${NEXT_PUBLIC_SPACETIMEDB_DB_NAME:-arkyv-engine} # Server-only AI and image provider settings are loaded from .env.local. env_file: - path: .env.local required: false extra_hosts: - "host.docker.internal:host-gateway" restart: unless-stopped healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3000', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] interval: 30s timeout: 10s retries: 3 start_period: 40s