Files
whisperbox-transcribe/docker/prod/docker-compose.yml
2023-02-28 21:40:55 +01:00

71 lines
1.4 KiB
YAML

version: "3.8"
x-app-variables: &app-variables
DATABASE_URI: sqlite:////etc/whisperbox/data/whisperbox.sqlite
ENVIRONMENT: production
BROKER_URL: redis://redis:6379/0
services:
redis:
container_name: whisperbox_redis
image: redis:7-alpine
ports:
- 6379:6379
networks:
- app
deploy:
resources:
limits:
memory: 128M
worker:
container_name: whisperbox_worker
build:
context: ../../
# <ENABLE GPU SUPPORT>
# dockerfile: docker/prod/worker.gpu.Dockerfile
dockerfile: docker/prod/worker.Dockerfile
environment: *app-variables
env_file: .env
volumes:
- whisperbox-data:/etc/whisperbox/data
networks:
- app
depends_on:
- redis
# <ENABLE GPU SUPPORT>
# deploy:
# resources:
# reservations:
# devices:
# - driver: nvidia
# count: 1
# capabilities: [gpu]
# TODO: reverse proxy
web:
container_name: whisperbox_web
build:
context: ../../
dockerfile: docker/prod/web.Dockerfile
environment: *app-variables
env_file: .env
ports:
- "8000:8000"
networks:
- app
depends_on:
worker:
condition: service_healthy
volumes:
- whisperbox-data:/etc/whisperbox/data
- whisper-models:/models
volumes:
whisperbox-data:
whisper-models:
networks:
app:
driver: bridge