# Mirrors novelpad-desktop's docker-compose.yml conventions (pgvector/pgvector # image, healthcheck-gated depends_on, named volumes) trimmed to this repo's # needs: no Electric (no client sync), no Redis. Host port 54341 avoids # novelpad-local's 54321 and website-compose's 54331 so all three stacks can # run side by side. # # Migrations run from the host (drizzle-kit is a devDependency, deliberately # absent from the production image): # DATABASE_URL=postgresql://postgres:password@localhost:54341/helmdocs_outreach \ # yarn workspace @novelpad/outreach-core migrate name: 'grant-outreach-local' services: worker: build: context: . dockerfile: Dockerfile environment: NODE_ENV: production DATABASE_URL: postgresql://postgres:password@postgres:5432/helmdocs_outreach # Uncomment (and mount below) once Phase 2 agents call Vertex: # GCP_SERVICE_ACCOUNT_KEY_PATH: /app/.gcp/service-account.json # NHDOJ_REGISTRY_PDF_URL: https://www.doj.nh.gov/...pdf # volumes: # - ./.gcp/service-account.json:/app/.gcp/service-account.json:ro depends_on: postgres: condition: service_healthy review: build: context: . dockerfile: Dockerfile command: ['yarn', 'workspace', '@novelpad/outreach-review', 'start'] ports: - '3100:3100' environment: NODE_ENV: production PORT: 3100 DATABASE_URL: postgresql://postgres:password@postgres:5432/helmdocs_outreach depends_on: postgres: condition: service_healthy postgres: image: pgvector/pgvector:pg16 environment: POSTGRES_DB: helmdocs_outreach POSTGRES_USER: postgres POSTGRES_PASSWORD: password ports: - '54341:5432' volumes: - postgres_data:/var/lib/postgresql/data tmpfs: - /tmp command: - -c - listen_addresses=* - -c - log_min_messages=notice healthcheck: test: ['CMD-SHELL', 'pg_isready -U postgres'] interval: 5s timeout: 5s retries: 5 volumes: postgres_data: