File size: 2,755 Bytes
6a3762e
 
0ff29e3
6a3762e
0ff29e3
 
 
 
 
 
 
 
 
 
 
6a3762e
 
 
0ff29e3
 
 
6a3762e
0ff29e3
6a3762e
0ff29e3
6a3762e
 
0ff29e3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6a3762e
 
0ff29e3
6a3762e
0ff29e3
6a3762e
0ff29e3
 
 
 
 
 
 
 
 
 
 
 
6a3762e
0ff29e3
6a3762e
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
73
74
75
76
# Contributing to HuggingFlow

Thank you for your interest in contributing!

## Bug Reports

1. Check existing [issues](https://github.com/somratpro/HuggingFlow/issues) first
2. Open a new issue with:
   - Clear title and description
   - Steps to reproduce
   - Expected vs actual behavior
   - Your `LLM_MODEL` provider (no keys please)
   - HF Space tier or Docker version if relevant

## Pull Requests

1. Fork the repository
2. Create a feature branch: `git checkout -b feat/your-feature`
3. Make changes and test locally (see below)
4. Commit using [Conventional Commits](https://www.conventionalcommits.org/): `feat:`, `fix:`, `docs:`, `refactor:`, `chore:`
5. Push and open a Pull Request describing what changed and why

Open an issue first for large or architectural changes.

## Local Development

```bash
# Clone
git clone https://github.com/somratpro/HuggingFlow
cd HuggingFlow

# Configure
cp .env.example .env
# Edit .env β€” set LLM_MODEL, LLM_API_KEY, optionally SERPER_API_KEY

# Build and run
docker-compose up --build

# Dashboard
open http://localhost:7860/

# Create admin account
open http://localhost:7860/setup

# Research workspace
open http://localhost:7860/workspace

# Health check
curl http://localhost:7860/health
```

Hot-reload for orchestration scripts: `docker-compose.yml` volume-mounts `start.sh`, `health-server.js`, `deerflow-sync.py`, and `nginx.conf` β€” edit and restart the container without a full rebuild.

## File Overview

| File | Purpose |
|------|---------|
| `Dockerfile` | Container build β€” pulls pre-built DeerFlow GHCR images |
| `start.sh` | Startup orchestration: config generation, service sequencing, graceful shutdown |
| `health-server.js` | Port 7860 public gateway β€” status dashboard + transparent reverse proxy to nginx |
| `nginx.conf` | nginx reverse proxy (port 7861) β€” routes API, frontend, LangGraph alias |
| `deerflow-sync.py` | HF Dataset backup/restore for SQLite DB + workspace files |
| `cloudflare-proxy.js` | Node.js `http`/`https` agent that routes traffic through a Cloudflare Worker |
| `cloudflare-proxy-setup.py` | Auto-provisions the Cloudflare outbound proxy Worker |
| `cloudflare-keepalive-setup.py` | Auto-provisions the Cloudflare keep-awake cron Worker |
| `docker-compose.yml` | Local development setup |
| `.env.example` | Full configuration reference with inline documentation |

## Guidelines

- Keep changes minimal and focused β€” avoid touching unrelated files
- Test with at least one LLM provider before submitting
- Update `README.md` and `.env.example` if you add new environment variables
- Update `CHANGELOG.md` with a summary under `[Unreleased]`
- Security issues: see [SECURITY.md](SECURITY.md) β€” do not open public issues for vulnerabilities