92 lines
2.3 KiB
YAML
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
|