diff --git a/infra/docker-compose.yml b/infra/docker-compose.yml index 9a9eda0..bf16a96 100644 --- a/infra/docker-compose.yml +++ b/infra/docker-compose.yml @@ -52,18 +52,48 @@ services: - "6379:6379" restart: always + # Celery Flower Monitoring Service + flower: + build: + context: ../backend + dockerfile: Dockerfile.celery + container_name: celery_flower + ports: + - "5555:5555" + environment: + CELERY_BROKER_URL: redis://redis:6379/0 + CELERY_APP: core + volumes: + - ../backend:/app + working_dir: /app + depends_on: + - redis + - celery_worker + command: celery -A core flower --port=5555 + restart: always + # Celery Worker Service celery_worker: build: context: ../backend - dockerfile: Dockerfile + dockerfile: Dockerfile.celery container_name: celery_worker volumes: - ../backend:/app - command: celery -A cremation_backend worker -l info # รัน worker process + command: celery -A core worker -l info # รัน worker process depends_on: - redis # Worker ต้องรอให้ Redis พร้อม - cockroach-1 # Worker อาจจะต้องเข้าถึง DB ด้วย + # Environment Variables สำหรับการส่งอีเมล + environment: + MAILJET_SMTP_HOST: ${MAILJET_SMTP_HOST} + MAILJET_SMTP_PORT: ${MAILJET_SMTP_PORT} + MAILJET_API_KEY: ${MAILJET_API_KEY} + MAILJET_SECRET_KEY: ${MAILJET_SECRET_KEY} + DEFAULT_FROM_EMAIL: ${DEFAULT_FROM_EMAIL} + # กำหนด HOST/PORT DB/Redis ซ้ำอีกครั้ง (เป็น Best Practice) + REDIS_HOST: redis + DB_HOST: cockroach-1 # Backend/API (DRF) backend: