# Local override for `docker compose up` on this host. # # Why this exists: # docker-compose.yml maps the web container to host port 3000, but # port 3000 on this host is already occupied (Grafana). This file # remaps web to host port 3050 and backend stays on 4016. The backend # is configured to point at the sibling platform/extraction/mcp # services already running on the host network. # # Bring up: # docker compose up -d # URLs: # Web: http://localhost:3050 # Backend: http://localhost:4016 # Health: http://localhost:4016/health # Bring down: # docker compose down services: backend: extra_hosts: - "host.docker.internal:host-gateway" environment: CORS_ORIGIN: "http://localhost:3050" PLATFORM_SERVICE_URL: "http://host.docker.internal:4003" EXTRACTION_SERVICE_URL: "http://host.docker.internal:4005" MCP_SERVER_URL: "http://host.docker.internal:4007" DB_PROVIDER: memory # MUST match the JWT_SECRET used by the sibling platform-service so # tokens platform issues are accepted by NoteLett backend. The # platform-service in this dev compose stack uses the value below. JWT_SECRET: "dev-ecosystem-secret-do-not-use-in-production" web: ports: !override - "3050:3045" # NEXT_PUBLIC_* values are baked into the Next.js bundle at build # time. They MUST be set as build args so `pnpm run build` inside # the Dockerfile picks them up. Runtime `environment:` alone has no # effect on the already-bundled client code. build: args: NEXT_PUBLIC_NOTES_API_URL: "http://localhost:4016/api" NEXT_PUBLIC_PLATFORM_SERVICE_URL: "http://localhost:4003/api" NEXT_PUBLIC_EXTRACTION_SERVICE_URL: "http://localhost:4005" NEXT_PUBLIC_MCP_SERVER_URL: "http://localhost:4007/api" environment: NEXT_PUBLIC_NOTES_API_URL: "http://localhost:4016/api" NEXT_PUBLIC_PLATFORM_SERVICE_URL: "http://localhost:4003/api" NEXT_PUBLIC_EXTRACTION_SERVICE_URL: "http://localhost:4005" NEXT_PUBLIC_MCP_SERVER_URL: "http://localhost:4007/api"