|
version: "3.8" |
|
|
|
services: |
|
vidyodl-api: |
|
build: |
|
context: . |
|
args: |
|
- DOWNLOAD_PATH=${DOWNLOAD_PATH} |
|
image: vidyodl |
|
container_name: vidyodl |
|
volumes: |
|
- ./${DOWNLOAD_PATH}:/vidyodl/${DOWNLOAD_PATH} |
|
- ./${DOWNLOAD_PATH}/audio:/vidyodl/${DOWNLOAD_PATH}/audio |
|
- ./${DOWNLOAD_PATH}/video:/vidyodl/${DOWNLOAD_PATH}/video |
|
- ./${DOWNLOAD_PATH}/completed:/vidyodl/${DOWNLOAD_PATH}/completed |
|
working_dir: /vidyodl |
|
env_file: .env |
|
ports: |
|
- "8069:8000" |
|
entrypoint: |
|
- poetry |
|
- run |
|
- uvicorn |
|
- server.main:vidyodl_app |
|
- --host=0.0.0.0 |
|
- --port=8000 |
|
|
|
celery-redis: |
|
container_name: vidyodl-redis |
|
image: redis:alpine |
|
ports: |
|
- "6379:6379" |
|
command: /bin/sh -c 'redis-server --requirepass ${CELERY_BROKER_PASSWORD}' |
|
healthcheck: |
|
test: ["CMD", "redis-cli", "ping", "-a", "${CELERY_BROKER_PASSWORD}"] |
|
interval: 10s |
|
timeout: 5s |
|
retries: 5 |
|
|
|
celery-worker: |
|
build: |
|
dockerfile: Dockerfile.celery |
|
container_name: vidyodl-celery |
|
volumes: |
|
- .:/vidyodl |
|
working_dir: /vidyodl |
|
env_file: .env |
|
command: poetry run celery -A app.tasks.celery_app worker |
|
depends_on: |
|
- vidyodl-api |
|
- celery-redis |