Files
Mastermind/docker-compose.yml

49 lines
1.3 KiB
YAML

services:
db:
image: postgres:16
environment:
POSTGRES_DB: mastermind
POSTGRES_USER: mastermind
POSTGRES_PASSWORD: ${DB_PASSWORD:-mastermind}
volumes:
- ./data/postgres:/var/lib/postgresql/data
ports:
- "5433:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U mastermind -d mastermind"]
interval: 5s
timeout: 5s
retries: 20
web:
build: ./web
environment:
NODE_ENV: development
PORT: 3005
DATABASE_URL: postgres://mastermind:${DB_PASSWORD:-mastermind}@db:5432/mastermind
SESSION_SECRET: ${SESSION_SECRET:-change-me}
BASE_URL: ${BASE_URL:-http://localhost:3005}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:-}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:-}
MICROSOFT_CLIENT_ID: ${MICROSOFT_CLIENT_ID:-}
MICROSOFT_CLIENT_SECRET: ${MICROSOFT_CLIENT_SECRET:-}
depends_on:
db:
condition: service_healthy
ports:
- "3005:3005"
volumes:
- ./data:/app/data
worker:
build: ./worker
environment:
NODE_ENV: development
DATABASE_URL: postgres://mastermind:${DB_PASSWORD:-mastermind}@db:5432/mastermind
depends_on:
db:
condition: service_healthy
# (MVP) no bind-mount to avoid masking node_modules inside container
volumes: {}