feat: add Docker support and update backend dependencies
- Introduced `requirements.docker.txt` for Docker-specific dependencies. - Updated `requirements.txt` to include `psycopg[binary]` and `python-multipart`. - Enhanced test suite in `test_main_endpoints.py` to cover document CRUD operations. - Modified `docker-compose.yml` to include PostgreSQL and frontend services. - Added Nginx configuration for reverse proxying API requests. - Refactored file handling in Vue components to support new document storage backend. - Created new utility functions in `docsApi.js` for document management. - Updated configuration to support new API endpoints for document operations. - Adjusted Vite configuration to proxy API requests to the local backend.
This commit is contained in:
+43
-24
@@ -1,48 +1,67 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
frontend:
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile.frontend
|
||||
args:
|
||||
DOCKER_REGISTRY_PREFIX: ${DOCKER_REGISTRY_PREFIX:-}
|
||||
depends_on:
|
||||
- api
|
||||
ports:
|
||||
- "6379:6379"
|
||||
- "8080:80"
|
||||
|
||||
postgres:
|
||||
image: ${DOCKER_REGISTRY_PREFIX:-}postgres:16-alpine
|
||||
environment:
|
||||
POSTGRES_DB: ${POSTGRES_DB:-llm_in_text}
|
||||
POSTGRES_USER: ${POSTGRES_USER:-llm_in_text}
|
||||
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-llm_in_text_change_me}
|
||||
volumes:
|
||||
- ./docker-data/postgres:/var/lib/postgresql/data
|
||||
|
||||
redis:
|
||||
image: ${DOCKER_REGISTRY_PREFIX:-}redis:7-alpine
|
||||
command: ["redis-server", "--appendonly", "yes"]
|
||||
volumes:
|
||||
- redis-data:/data
|
||||
- ./docker-data/redis:/data
|
||||
|
||||
api:
|
||||
image: python:3.11-slim
|
||||
working_dir: /app
|
||||
command: sh -c "pip install -r backend/requirements.txt && python backend/main.py"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: backend/Dockerfile
|
||||
args:
|
||||
DOCKER_REGISTRY_PREFIX: ${DOCKER_REGISTRY_PREFIX:-}
|
||||
env_file:
|
||||
- backend/.env
|
||||
environment:
|
||||
JOB_BACKEND: redis
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
DATABASE_URL: ${DATABASE_URL:-postgresql://llm_in_text:llm_in_text_change_me@postgres:5432/llm_in_text}
|
||||
DOCS_BACKEND: postgres
|
||||
JOB_SHARED_TEMP_DIR: /shared-jobs
|
||||
volumes:
|
||||
- .:/app
|
||||
- job-shared:/shared-jobs
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
ports:
|
||||
- "8001:8001"
|
||||
volumes:
|
||||
- ./docker-data/jobs:/shared-jobs
|
||||
|
||||
worker:
|
||||
image: python:3.11-slim
|
||||
working_dir: /app
|
||||
command: sh -c "pip install -r backend/requirements.txt && python backend/worker.py"
|
||||
build:
|
||||
context: .
|
||||
dockerfile: backend/Dockerfile
|
||||
args:
|
||||
DOCKER_REGISTRY_PREFIX: ${DOCKER_REGISTRY_PREFIX:-}
|
||||
command: ["python", "worker.py"]
|
||||
env_file:
|
||||
- backend/.env
|
||||
environment:
|
||||
JOB_BACKEND: redis
|
||||
REDIS_URL: redis://redis:6379/0
|
||||
DATABASE_URL: ${DATABASE_URL:-postgresql://llm_in_text:llm_in_text_change_me@postgres:5432/llm_in_text}
|
||||
DOCS_BACKEND: postgres
|
||||
JOB_SHARED_TEMP_DIR: /shared-jobs
|
||||
volumes:
|
||||
- .:/app
|
||||
- job-shared:/shared-jobs
|
||||
depends_on:
|
||||
- postgres
|
||||
- redis
|
||||
|
||||
volumes:
|
||||
redis-data:
|
||||
job-shared:
|
||||
volumes:
|
||||
- ./docker-data/jobs:/shared-jobs
|
||||
|
||||
Reference in New Issue
Block a user