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: