| # DaisyChain Quickstart |
|
|
| Two ways to run. **Docker** is the most reliable (especially on Windows). |
|
|
| ## A. Docker β one command (demo cluster on one machine) |
|
|
| ```bash |
| docker compose -f docker/docker-compose.yml up --build |
| # open http://localhost:8080 |
| ``` |
|
|
| This starts 3 node containers + the dashboard on a Docker network β the whole |
| pipeline, so you can see connectivity, the capacity plan, and live training. |
| Stop with `docker compose -f docker/docker-compose.yml down`. |
|
|
| Windows: just run `scripts\setup.bat` and pick **[1] Docker**. |
|
|
| ## B. Python β real machines |
|
|
| On **every** machine: |
|
|
| ```bash |
| pip install torch numpy psutil |
| pip install -e . # from the repo, or `pip install daisychain` |
| ``` |
|
|
| Set the cluster env (copy `config/cluster.example.env`), changing only `RANK` |
| per machine, then run: |
|
|
| ```bash |
| export MASTER_ADDR=100.101.102.10 # coordinator IP (Tailscale 100.x recommended) |
| export MASTER_PORT=29560 |
| export WORLD_SIZE=3 |
| export RANK=0 # 1, 2, ... on the others |
| export GLOO_SOCKET_IFNAME=tailscale0 # your mesh/LAN NIC |
| daisychain-train |
| ``` |
|
|
| Windows: run `scripts\setup.bat` and pick **[2] Python** (it prompts for these). |
|
|
| ## Watch it |
|
|
| Run the dashboard anywhere that can reach the nodes: |
|
|
| ```bash |
| # edit config/nodes.example.json with your node hosts, then: |
| daisychain-dashboard # http://localhost:8080 |
| ``` |
|
|
| ## Train your own model |
|
|
| The default is a tiny example task. To train **your** model, see |
| [CUSTOM_TASK.md](CUSTOM_TASK.md) β copy `examples/my_task_template.py`, fill in |
| `build_model` / `sample` / `loss`, and set `DAISY_TASK=your_module:YourTask`. |
|
|
| **Before you rely on it, read [LIMITS.md](LIMITS.md).** DaisyChain pools compute, |
| not memory, and is for *small* models on spare hardware β not GPU-class training. |
|
|