ImageProcessor_MainServer/docker-compose.dev.yml

92 lines
2.3 KiB
YAML

services:
fastapi:
build: .
container_name: fastapi_app_dev
command: uvicorn app.main:app --host 0.0.0.0 --port 7890 --reload
volumes:
- ./app:/app/app
- ./temp_files:/app/temp_files
ports:
- "7890:7890"
env_file:
- .env.dev
environment:
- MAIN_SERVER_URL=http://fastapi:7890
- CELERY_BROKER_URL=redis://redis:6379/0
- CELERY_RESULT_BACKEND=redis://redis:6379/1
depends_on:
- redis
# worker:
# build: .
# container_name: celery_worker_dev
# command: >
# celery -A worker.tasks.celery_app worker
# -Q translate,rembg
# -l info
# --concurrency=4
# volumes:
# - ./app:/app/app
# - ./temp_files:/app/temp_files
# env_file:
# - .env.dev
# environment:
# - MAIN_SERVER_URL=http://fastapi:7890
# - CELERY_BROKER_URL=redis://redis:6379/0
# - CELERY_RESULT_BACKEND=redis://redis:6379/1
# depends_on:
# - redis
# ─── Flower ─────────────────
flower:
image: mher/flower:master
environment:
- FLOWER_UNAUTHENTICATED_API=true
- CELERY_BROKER_URL=redis://redis:6379/0
ports:
- "5555:5555"
depends_on: [redis]
restart: unless-stopped
redis:
image: redis:6.2
container_name: redis_server_dev
ports:
- "6379:6379"
command: ["redis-server", "--appendonly", "yes"]
# ─── Prometheus ─────────────────────────
prometheus:
image: prom/prometheus:v3.5.0
environment:
- TZ=Asia/Seoul
ports:
- "9090:9090"
volumes:
- /etc/localtime:/etc/localtime:ro
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
# ─── Celery → Prometheus Exporter ──────────────
celery_exporter:
image: danihodovic/celery-exporter:latest
command: ["--broker-url=redis://redis:6379/0"]
ports: ["9808:9808"]
depends_on: [redis]
restart: unless-stopped
# ─── Grafana ────────────────────────────
grafana:
image: grafana/grafana:12.0.4-ubuntu
environment:
- TZ=Asia/Seoul
volumes:
- /etc/localtime:/etc/localtime:ro
ports:
- "3000:3000"
depends_on:
- prometheus