-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
71 lines (56 loc) · 2.95 KB
/
Copy pathdocker-compose.yml
File metadata and controls
71 lines (56 loc) · 2.95 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
version: '3.8'
# HuggingFlow — local development
# Usage:
# cp .env.example .env # fill in LLM_MODEL, LLM_API_KEY, etc.
# docker-compose up --build
services:
huggingflow:
build:
context: .
dockerfile: Dockerfile
container_name: huggingflow
environment:
# ── Required ────────────────────────────────────────────────
LLM_MODEL: ${LLM_MODEL:-openai/gpt-4o}
LLM_API_KEY: ${LLM_API_KEY:-}
# ── Search (optional) ────────────────────────────────────────
SERPER_API_KEY: ${SERPER_API_KEY:-}
TAVILY_API_KEY: ${TAVILY_API_KEY:-}
JINA_API_KEY: ${JINA_API_KEY:-}
# ── Auth ─────────────────────────────────────────────────────
AUTH_JWT_SECRET: ${AUTH_JWT_SECRET:-dev-secret-change-in-production}
# ── HF Dataset backup (optional) ─────────────────────────────
HF_TOKEN: ${HF_TOKEN:-}
HF_USERNAME: ${HF_USERNAME:-}
BACKUP_DATASET_NAME: ${BACKUP_DATASET_NAME:-huggingflow-backup}
SYNC_INTERVAL: ${SYNC_INTERVAL:-600}
# ── Custom LLM endpoint (optional) ───────────────────────────
CUSTOM_BASE_URL: ${CUSTOM_BASE_URL:-}
# ── Cloudflare (optional) ─────────────────────────────────────
CLOUDFLARE_WORKERS_TOKEN: ${CLOUDFLARE_WORKERS_TOKEN:-}
CLOUDFLARE_PROXY_URL: ${CLOUDFLARE_PROXY_URL:-}
# ── Timeouts ─────────────────────────────────────────────────
BACKEND_READY_TIMEOUT: ${BACKEND_READY_TIMEOUT:-120}
FRONTEND_READY_TIMEOUT: ${FRONTEND_READY_TIMEOUT:-120}
# ── Privacy ──────────────────────────────────────────────────
DO_NOT_TRACK: "1"
ports:
- "7860:7860" # Public: status dashboard + reverse proxy
volumes:
# Persist data between docker-compose up/down cycles
- huggingflow_data:/app/data
# Hot-reload orchestration scripts (no rebuild needed)
- ./start.sh:/app/start.sh
- ./health-server.js:/app/health-server.js
- ./deerflow-sync.py:/app/deerflow-sync.py
- ./nginx.conf:/etc/nginx/nginx.conf
healthcheck:
test: ["CMD", "curl", "-fsS", "http://localhost:7860/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 90s
restart: unless-stopped
volumes:
huggingflow_data:
driver: local