The image context was backend/, so COPY frontend/ failed. Build from the repo root, place Python modules on the import path, and pin packages that exist on PyPI. The web process no longer loads the LLM at startup.
94 lines
2.5 KiB
YAML
94 lines
2.5 KiB
YAML
services:
|
|
qdrant:
|
|
image: docker.io/qdrant/qdrant:latest
|
|
container_name: espiritismo-qdrant
|
|
ports:
|
|
- "6333:6333"
|
|
volumes:
|
|
- qdrant_data:/qdrant/storage
|
|
restart: unless-stopped
|
|
|
|
redis:
|
|
image: docker.io/library/redis:7-alpine
|
|
container_name: espiritismo-redis
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
restart: unless-stopped
|
|
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: backend/Dockerfile
|
|
container_name: espiritismo-web
|
|
ports:
|
|
- "8000:8000"
|
|
volumes:
|
|
- ./PDF:/app/books:ro
|
|
- uploads_data:/app/uploads
|
|
- ./data/schedules.json:/app/schedules.json
|
|
- ./backend/models:/app/models
|
|
environment:
|
|
QDRANT_URL: http://qdrant:6333
|
|
CELERY_BROKER_URL: redis://redis:6379/0
|
|
CELERY_RESULT_BACKEND: redis://redis:6379/0
|
|
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
|
|
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-}
|
|
GPT4ALL_MODEL: /app/models/llama-3.2-3b-instruct-q4_0.gguf
|
|
BOOKS_DIR: /app/books
|
|
UPLOAD_DIR: /app/uploads
|
|
SCHEDULES_PATH: /app/schedules.json
|
|
depends_on:
|
|
- qdrant
|
|
- redis
|
|
restart: unless-stopped
|
|
|
|
celery:
|
|
build:
|
|
context: .
|
|
dockerfile: backend/Dockerfile
|
|
container_name: espiritismo-celery
|
|
command: celery -A app.tasks.celery_tasks worker --loglevel=info
|
|
volumes:
|
|
- ./PDF:/app/books:ro
|
|
- uploads_data:/app/uploads
|
|
- ./data/schedules.json:/app/schedules.json
|
|
- ./backend/models:/app/models
|
|
environment:
|
|
QDRANT_URL: http://qdrant:6333
|
|
CELERY_BROKER_URL: redis://redis:6379/0
|
|
CELERY_RESULT_BACKEND: redis://redis:6379/0
|
|
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
|
|
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-}
|
|
GPT4ALL_MODEL: /app/models/llama-3.2-3b-instruct-q4_0.gguf
|
|
BOOKS_DIR: /app/books
|
|
UPLOAD_DIR: /app/uploads
|
|
SCHEDULES_PATH: /app/schedules.json
|
|
depends_on:
|
|
- qdrant
|
|
- redis
|
|
restart: unless-stopped
|
|
|
|
celery-beat:
|
|
build:
|
|
context: .
|
|
dockerfile: backend/Dockerfile
|
|
command: celery -A app.tasks.celery_tasks beat --loglevel=info
|
|
volumes:
|
|
- ./data/schedules.json:/app/schedules.json
|
|
environment:
|
|
CELERY_BROKER_URL: redis://redis:6379/0
|
|
CELERY_RESULT_BACKEND: redis://redis:6379/0
|
|
TELEGRAM_BOT_TOKEN: ${TELEGRAM_BOT_TOKEN:-}
|
|
TELEGRAM_CHAT_ID: ${TELEGRAM_CHAT_ID:-}
|
|
SCHEDULES_PATH: /app/schedules.json
|
|
depends_on:
|
|
- redis
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
qdrant_data:
|
|
redis_data:
|
|
uploads_data:
|