conductor/docker-compose.yml

35 lines
1.1 KiB
YAML

services:
backend:
build:
context: ./backend
dockerfile: Dockerfile
ports:
- "4000:4000"
environment:
- PORT=4000
- NODE_ENV=development
- CONDUCTOR_SECRET_KEY=${CONDUCTOR_SECRET_KEY:-}
# Optional comma-separated exact origins for narrowly approved private APIs.
- CONDUCTOR_PROXY_INTERNAL_ORIGINS=${CONDUCTOR_PROXY_INTERNAL_ORIGINS:-}
# Data directory is mounted so the SQLite file survives container restarts.
# shared/ is mounted read-only at /shared so the backend can resolve the
# schema via path.resolve(__dirname, '../../../shared/schemas/...').
# __dirname inside the container is /app/src/lib; three levels up is /,
# so the full resolved path is /shared/schemas/conductor-project.schema.json.
volumes:
- ./backend/data:/app/data
- ./shared:/shared:ro
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- "3000:3000"
environment:
# Used by the CRA dev-server proxy — must match the Compose service name
- REACT_APP_API_URL=http://backend:4000
- CI=false
depends_on:
- backend