Repository navigation
Expand file tree
/
Copy pathdocker-compose.dev.yml
More file actions
78 lines (72 loc) · 2.06 KB
/
Copy pathdocker-compose.dev.yml
File metadata and controls
78 lines (72 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
name: ezteam-fastapi
x-fastapi-common: &fastapi-common
image: "${DOCKER_USERNAME:?DOCKER_USERNAME is required}/${DOCKER_REPO:?DOCKER_REPO is required}:${DOCKER_TAG:-dev-latest}"
env_file:
- .env
environment:
APP_ENV: ${APP_ENV:-production}
ENVIRONMENT: ${ENVIRONMENT:-production}
APP_PORT: 8000
AGENT_JOB_STORE: ${AGENT_JOB_STORE:-redis}
AGENT_JOB_STORE_STRICT: ${AGENT_JOB_STORE_STRICT:-1}
AGENT_JOB_EXECUTOR: ${AGENT_JOB_EXECUTOR:-celery}
MEDIA_ROOT_DIR: ${MEDIA_ROOT_DIR:-/app/media}
QDRANT_URL: ${QDRANT_URL:-http://qdrant:6333}
OCR_V1_QDRANT_URL: ${OCR_V1_QDRANT_URL:-http://qdrant:6333}
TZ: Asia/Seoul
volumes:
- fastapi-media:/app/media
restart: unless-stopped
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
services:
api:
<<: *fastapi-common
container_name: ezteam-fastapi-api
command: ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
ports:
- "8000:8000"
depends_on:
qdrant:
condition: service_started
healthcheck:
test: ["CMD-SHELL", "python -c 'import urllib.request; urllib.request.urlopen(\"http://localhost:8000/health\")' || exit 1"]
interval: 30s
timeout: 10s
retries: 5
start_period: 90s
mem_limit: 700m
worker:
<<: *fastapi-common
container_name: ezteam-fastapi-worker
command: ["celery", "-A", "app.celery_app", "worker", "-l", "info", "--concurrency=1"]
depends_on:
api:
condition: service_healthy
mem_limit: 500m
beat:
<<: *fastapi-common
container_name: ezteam-fastapi-beat
command: ["celery", "-A", "app.celery_app", "beat", "-l", "info"]
depends_on:
api:
condition: service_healthy
mem_limit: 128m
qdrant:
image: qdrant/qdrant:v1.12.6
container_name: ezteam-qdrant
restart: unless-stopped
volumes:
- qdrant-data:/qdrant/storage
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3"
mem_limit: 512m
volumes:
fastapi-media:
qdrant-data: