54 lines
1.2 KiB
YAML
54 lines
1.2 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
redis:
|
|
image: redis:7-alpine
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
restart: unless-stopped
|
|
mem_limit: 512m # Limita Redis a 512MB de memoria RAM
|
|
|
|
web:
|
|
build: .
|
|
# Se sobrescribe el comando para asegurarnos que usa Gunicorn (así esté en el Dockerfile)
|
|
command: gunicorn config.asgi:application -k uvicorn.workers.UvicornWorker --bind 0.0.0.0:8000 --workers 3
|
|
volumes:
|
|
- .:/app
|
|
ports:
|
|
- "8000:8000"
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# Ya no conectamos a una DB local, lee el DATABASE_URL del .env
|
|
REDIS_URL: redis://redis:6379/0
|
|
depends_on:
|
|
- redis
|
|
restart: unless-stopped
|
|
mem_limit: 1g # Limita Gunicorn a 1GB
|
|
|
|
tax-api:
|
|
build: ./tax_api
|
|
ports:
|
|
- "8001:8000"
|
|
restart: unless-stopped
|
|
mem_limit: 256m
|
|
|
|
celery:
|
|
build: .
|
|
command: celery -A config worker -l info --concurrency=2
|
|
volumes:
|
|
- .:/app
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
REDIS_URL: redis://redis:6379/0
|
|
depends_on:
|
|
- redis
|
|
restart: unless-stopped
|
|
mem_limit: 512m # Limita Celery a 512MB
|
|
|
|
volumes:
|
|
redis_data:
|