| version: "3.9" | |
| services: | |
| db: | |
| image: pgvector/pgvector:pg16 | |
| environment: | |
| POSTGRES_USER: docweave | |
| POSTGRES_PASSWORD: docweave | |
| POSTGRES_DB: docweave | |
| ports: | |
| - "5432:5432" | |
| volumes: | |
| - pgdata:/var/lib/postgresql/data | |
| healthcheck: | |
| test: ["CMD-SHELL", "pg_isready -U docweave"] | |
| interval: 5s | |
| timeout: 5s | |
| retries: 5 | |
| backend: | |
| build: | |
| context: ./backend | |
| dockerfile: Dockerfile | |
| ports: | |
| - "8000:8000" | |
| environment: | |
| DATABASE_URL: postgresql://docweave:docweave@db:5432/docweave | |
| SECRET_KEY: change-me-in-production | |
| ALGORITHM: HS256 | |
| ACCESS_TOKEN_EXPIRE_MINUTES: "480" | |
| LLM_PROVIDER: groq | |
| LLM_API_KEY: ${LLM_API_KEY:-} | |
| LLM_MODEL: ${LLM_MODEL:-llama-3.3-70b-versatile} | |
| DOCUMENT_STORAGE_DIR: /app/storage/documents | |
| depends_on: | |
| db: | |
| condition: service_healthy | |
| volumes: | |
| - doc_storage:/app/storage | |
| frontend: | |
| build: | |
| context: ./frontend | |
| dockerfile: Dockerfile | |
| ports: | |
| - "3000:80" | |
| depends_on: | |
| - backend | |
| volumes: | |
| pgdata: | |
| doc_storage: | |