65 lines
1.5 KiB
YAML
65 lines
1.5 KiB
YAML
|
|
services:
|
|
api:
|
|
image: christianlouis/document-processor:latest
|
|
container_name: document_api
|
|
|
|
# We'll keep the code in /app, but set working_dir to the shared data directory
|
|
working_dir: /workdir
|
|
|
|
# We'll run uvicorn from the container's /app code
|
|
command: ["sh", "-c", "cd /app && uvicorn app.main:app --host 0.0.0.0 --port 8000"]
|
|
|
|
# Environment variables
|
|
environment:
|
|
- PYTHONPATH=/app
|
|
env_file:
|
|
- .env
|
|
|
|
# Expose container's 8000 -> Host's 8000
|
|
ports:
|
|
- "8000:8000"
|
|
|
|
depends_on:
|
|
- redis
|
|
- worker
|
|
|
|
# Mount the shared working directory for data
|
|
volumes:
|
|
# optional: mount your code if you want local dev changes to reflect
|
|
# - ./app:/app
|
|
- /var/docparse/workdir:/workdir
|
|
|
|
worker:
|
|
image: christianlouis/document-processor:latest
|
|
container_name: document_worker
|
|
|
|
# same shared working directory
|
|
working_dir: /workdir
|
|
|
|
command: ["celery", "-A", "app.celery_worker", "worker", "-B", "--loglevel=info", "-Q", "document_processor,default,celery"]
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
- PYTHONPATH=/app
|
|
|
|
depends_on:
|
|
- redis
|
|
- gotenberg
|
|
|
|
# Mount the shared directory (and optionally your code if you want dev mode)
|
|
volumes:
|
|
# optional: mount your code if you want local dev changes
|
|
# - ./app:/app
|
|
- /var/docparse/workdir:/workdir
|
|
|
|
gotenberg:
|
|
image: gotenberg/gotenberg:latest
|
|
container_name: gotenberg
|
|
|
|
|
|
redis:
|
|
image: redis:alpine
|
|
container_name: document_redis
|
|
restart: always
|