-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
46 lines (43 loc) · 1.7 KB
/
docker-compose.yml
File metadata and controls
46 lines (43 loc) · 1.7 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
# =============================================================================
# Google Ads API Agent — Docker Compose
# =============================================================================
# Usage:
# docker compose up → Start the agent API
# docker compose up -d → Start in background
# docker compose up --scale agent=3 → Run 3 instances (behind load balancer)
# docker compose run cli → Interactive CLI session
# =============================================================================
services:
# ── API Server ──────────────────────────────────────────────────────
agent:
build: .
ports:
- "8000:8000"
env_file:
- .env
environment:
- LOG_LEVEL=INFO
restart: unless-stopped
healthcheck:
test: ["CMD", "python", "-c", "import httpx; r = httpx.get('http://localhost:8000/health'); assert r.status_code == 200"]
interval: 30s
timeout: 10s
retries: 3
# ── Interactive CLI ─────────────────────────────────────────────────
cli:
build: .
env_file:
- .env
stdin_open: true
tty: true
entrypoint: ["python", "scripts/cli.py"]
profiles:
- cli
# ── Validation ──────────────────────────────────────────────────────
validate:
build: .
env_file:
- .env
entrypoint: ["python", "scripts/validate.py"]
profiles:
- test