File size: 1,745 Bytes
fbdce94 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | services:
db:
image: pgvector/pgvector:pg16
restart: unless-stopped
environment:
POSTGRES_USER: depscreen
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-depscreen_dev}
POSTGRES_DB: depscreen
volumes:
- pgdata:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U depscreen"]
interval: 5s
timeout: 5s
retries: 5
deploy:
resources:
limits:
memory: 512M
backend:
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:8000"
restart: unless-stopped
depends_on:
db:
condition: service_healthy
environment:
DATABASE_URL: postgresql://depscreen:${POSTGRES_PASSWORD:-depscreen_dev}@db:5432/depscreen
JWT_SECRET: ${JWT_SECRET:?JWT_SECRET is required}
LLM_API_KEY: ${LLM_API_KEY:-}
LLM_BASE_URL: ${LLM_BASE_URL:-https://generativelanguage.googleapis.com/v1beta/openai/}
LLM_MODEL: ${LLM_MODEL:-gemini-2.5-flash}
ENVIRONMENT: ${ENVIRONMENT:-development}
CORS_ORIGINS: ${CORS_ORIGINS:-["http://localhost:3000"]}
REDIS_URL: ${REDIS_URL:-}
volumes:
- ./ml/models:/app/ml/models:ro
- ./ml/knowledge_base:/app/ml/knowledge_base:ro
healthcheck:
test: ["CMD", "python", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8000/health')"]
interval: 30s
timeout: 10s
retries: 3
start_period: 60s
deploy:
resources:
limits:
memory: 4G
frontend:
build:
context: ../frontend
dockerfile: Dockerfile
ports:
- "3000:80"
restart: unless-stopped
depends_on:
- backend
volumes:
pgdata:
|