depscreen / docker-compose.yml
halsabbah's picture
deploy: sync code from GitHub main
fbdce94 verified
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: