1
0
forked from erp-dev/erp
Files
erpnew/docker-compose.prod.yml
2026-05-01 22:43:22 +08:00

86 lines
1.7 KiB
YAML

x-app-image: &app-image
image: ${FLOWER_IMAGE:-flower-app:latest}
build:
context: .
dockerfile: Dockerfile.prod
x-app-runtime: &app-runtime
env_file:
- ${APP_ENV_FILE:-.env}
environment:
DJANGO_SETTINGS_MODULE: flower.settings
PYTHONPATH: /app
CACHE_HOST: redis
CACHE_PORT: 6379
CELERY_RESULT_HOST: redis
CELERY_RESULT_PORT: 6379
CELERY_BROKER_HOST: rabbitmq
CELERY_BROKER_PORT: 5672
restart: unless-stopped
services:
redis:
image: redis:7-alpine
container_name: flower_redis
command:
- redis-server
- --appendonly
- yes
volumes:
- redis_data:/data
restart: unless-stopped
rabbitmq:
image: rabbitmq:3-management-alpine
container_name: flower_rabbitmq
environment:
RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER:-guest}
RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS:-guest}
volumes:
- rabbitmq_data:/var/lib/rabbitmq
restart: unless-stopped
web:
<<: [*app-image, *app-runtime]
container_name: flower_web
command:
- python
- -m
- uvicorn
- flower.asgi:application
- --host
- 0.0.0.0
- --port
- "8000"
- --workers
- "${UVICORN_WORKERS:-1}"
ports:
- "${WEB_PORT:-8100}:8000"
depends_on:
- redis
- rabbitmq
celery_worker:
<<: [*app-image, *app-runtime]
container_name: celery_worker
command:
- python
- -m
- celery
- -A
- flower
- worker
- -l
- info
- --concurrency=${CELERY_CONCURRENCY:-2}
- --pool=solo
volumes:
- ${BACKUP_DIR:-./data-bak}:/app/data-bak
depends_on:
- redis
- rabbitmq
volumes:
redis_data:
rabbitmq_data: