termprep / docker-compose.yml
dzha0118's picture
Upload 179 files
29ccba8 verified
Raw
History Blame Contribute Delete
2.16 kB
services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: termprep
POSTGRES_PASSWORD: termprep
POSTGRES_DB: termprep
ports:
- "5432:5432"
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U termprep -d termprep"]
interval: 5s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
ports:
- "6379:6379"
backend:
build: ./backend
ports:
- "8000:8000"
environment:
DATABASE_URL: postgresql://termprep:termprep@postgres:5432/termprep
REDIS_URL: redis://redis:6379/0
SECRET_KEY: ${SECRET_KEY:-dev-secret-key-change-me}
FRONTEND_URL: http://localhost:5173
AI_PROVIDER: ${AI_PROVIDER:-deepseek}
AI_API_KEY: ${AI_API_KEY:-}
AI_MODEL: ${AI_MODEL:-deepseek-chat}
GITHUB_CLIENT_ID: ${GITHUB_CLIENT_ID:-}
GITHUB_CLIENT_SECRET: ${GITHUB_CLIENT_SECRET:-}
GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID:-}
GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET:-}
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
volumes:
- ./backend/app:/app/app
command: uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
worker:
build: ./backend
environment:
DATABASE_URL: postgresql://termprep:termprep@postgres:5432/termprep
REDIS_URL: redis://redis:6379/0
SECRET_KEY: ${SECRET_KEY:-dev-secret-key-change-me}
AI_PROVIDER: ${AI_PROVIDER:-deepseek}
AI_API_KEY: ${AI_API_KEY:-}
AI_MODEL: ${AI_MODEL:-deepseek-chat}
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
volumes:
- ./backend/app:/app/app
command: celery -A app.celery_app worker -l info -c 2
frontend:
image: node:20-alpine
working_dir: /app
ports:
- "5173:5173"
volumes:
- ./frontend:/app
- /app/node_modules
command: sh -c "npm install && npm run dev"
environment:
VITE_API_BASE_URL: http://localhost:8000/api/v1
volumes:
postgres_data: