win setup md

This commit is contained in:
Dobromir Popov
2026-06-30 17:58:41 +03:00
parent 5fe471d8ca
commit 4f79b2d177

View File

@@ -48,6 +48,102 @@ python3 -m venv .venv
If `.venv/bin/meshnet-node` is missing, the editable install step did not finish
successfully. Re-run the `.venv/bin/pip install -e ...` command above inside WSL.
WSL2 is still useful for local development, but do not rely on it for the
"another machine connects back to this node" LAN case. WSL2 commonly sits behind
Windows NAT/port-proxy behavior and may not accept inbound traffic from other LAN
machines without extra host networking setup. We intentionally leave that unfixed
because it is useful for testing NAT/relay scenarios. If you just want to bring up
a Windows node that other machines can reach directly, run the node in native
Windows PowerShell instead.
### Native Windows PowerShell node (not WSL)
Use this when the tracker is on another machine and you want Windows to host a
reachable node on the LAN.
1. Install prerequisites on Windows:
- Python 3.11 or 3.12 from <https://www.python.org/downloads/windows/>
- Git for Windows from <https://git-scm.com/download/win>
2. Open **PowerShell** in the cloned repo and install the node packages:
```powershell
# Example repo path; adjust to wherever you cloned it
cd D:\DEV\workspace\REPOS\git.d-popov.com\neuron-tai
py -3 -m venv .venv
.\.venv\Scripts\python.exe -m pip install --upgrade pip setuptools wheel
.\.venv\Scripts\pip.exe install -e packages\tracker -e packages\node -e packages\p2p -e packages\gateway -e packages\relay
# CPU-only PyTorch. For NVIDIA CUDA, use `pip install torch` instead.
.\.venv\Scripts\pip.exe install torch --index-url https://download.pytorch.org/whl/cpu
.\.venv\Scripts\pip.exe install transformers accelerate
.\.venv\Scripts\meshnet-node.exe --help
```
3. Find the Windows LAN IP address:
```powershell
ipconfig
```
Use the IPv4 address on the active Ethernet/Wi-Fi adapter, for example
`192.168.0.42`. Avoid WSL/Docker/Hyper-V adapter addresses like `172.16.x.x`,
`172.17.x.x`, or other virtual adapter IPs.
4. Allow inbound traffic for the node port in Windows Firewall. Run PowerShell as
Administrator once:
```powershell
New-NetFirewallRule `
-DisplayName "Meshnet node 8005" `
-Direction Inbound `
-Action Allow `
-Protocol TCP `
-LocalPort 8005
```
5. Start the Windows node from normal PowerShell. Replace the tracker and
advertised host values with your actual LAN addresses:
```powershell
$env:HF_HOME = "D:\DEV\models"
.\.venv\Scripts\meshnet-node.exe start `
--tracker http://192.168.0.179:8081 `
--model-id Qwen/Qwen2.5-0.5B-Instruct `
--shard-start 12 --shard-end 23 `
--quantization bfloat16 `
--host 0.0.0.0 `
--advertise-host 192.168.0.42 `
--port 8005
```
`--host 0.0.0.0` binds the node to all Windows interfaces. `--advertise-host`
is what the tracker gives to other nodes, so it must be the Windows LAN IP that
the tracker and peer nodes can actually reach.
If you want verbose per-hop pipeline logs while debugging a split model, add
`--debug`. Leave it off for normal runs; otherwise every generated token logs
lines like:
```text
[node] pipeline hop 0: http://127.0.0.1:8005 start_layer=22
[node] pipeline hop 0 returned text=' token'
```
6. From the tracker machine, verify Windows is reachable:
```bash
curl http://192.168.0.42:8005/v1/health
```
If that endpoint returns 404, that is okay: it still proves the TCP connection
reached the node process. If it times out or connection-refuses, check the
Windows Firewall rule, `--host 0.0.0.0`, the selected LAN IP, and that the node is
still running.
### Public tracker + WSS relay
For internet nodes, expose one public HTTPS host and proxy these paths:
@@ -148,7 +244,7 @@ For gated models (Llama), run `huggingface-cli login` first.
## Step 3 — Send an inference request (Terminal 3)
```bash
```bash Qwen2.5-0.5B-Instruct
curl -s http://localhost:8001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{