Spaces:
Running
Running
File size: 3,019 Bytes
0ff29e3 | 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 | 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
|