Power-user Source Install¶
GuardianNode is designed so a technical parent can inspect, build, and run it without trusting a black-box installer.
The normal release installer is still the easiest path. It starts the agent and tray during install, registers all-user logon tasks so they launch for every Windows account at sign-in, and pairs the child node with the server when a pairing code is supplied.
Trust checks¶
- Download a release and compare it with
SHA256SUMS. - Read the installer scripts in
installer/. - Read the backend routes in
backend/app/api/. - Search outbound network usage with:
rg "http://|https://|AsyncClient|requests|websocket" backend agent-windows dashboard installer
The intended default is local-first: the child node talks to your GuardianNode backend, the backend talks to local Ollama, and no child data is uploaded to a vendor cloud.
Build the Windows child installer yourself¶
Prerequisites on Windows:
- Git
- Python 3.12 or 3.13
- Node.js LTS
- Inno Setup 6
Build the agent executables:
git clone https://github.com/the-vibe-dev/guardiannode.git
cd guardiannode\agent-windows
py -3 -m venv .venv
.\.venv\Scripts\python -m pip install --upgrade pip
.\.venv\Scripts\python -m pip install -e ".[windows]" pyinstaller
.\.venv\Scripts\pyinstaller --clean --noconfirm guardiannode_agent.spec
.\scripts\verify_windows_bundle.ps1
Stage the bundle for the installer:
cd ..
New-Item -ItemType Directory -Force installer\build\prebuilt\agent | Out-Null
Copy-Item agent-windows\dist\GuardianNodeAgent\* installer\build\prebuilt\agent -Recurse -Force
Compile installer\child-device-windows\GuardianNodeChildSetup.iss with Inno
Setup. The output is GuardianNodeChildSetup-<version>.exe.
For separated installs, the installer can be scripted with:
GuardianNodeChildSetup-0.1.0-alpha.1.exe /VERYSILENT /MODE=child /SERVERURL=http://192.168.1.42:8787 /PAIRCODE=506755
Silent child installs require /MODE=child, an explicit http:// or https://
server URL, and a six-digit pairing code generated from the parent dashboard.
Codes expire and are one-time use. Silent all-in-one installs use
/MODE=allinone and must not include /SERVERURL or /PAIRCODE.
Build installers from Linux¶
The Linux build script uses Wine and Inno Setup:
sudo apt-get install -y wine python3 python3-venv nodejs npm curl unzip
git clone https://github.com/the-vibe-dev/guardiannode.git
cd guardiannode
./installer/build/build_all.sh --child-only
cd installer/build/dist
sha256sum *.exe > SHA256SUMS
For official releases, use a fresh Windows-built PyInstaller agent bundle in
installer/build/prebuilt/agent before compiling the child installer.
Run the child node from Python¶
This is useful for auditing and testing. It is not as tamper-resistant as the installer because it does not install the service/watchdog wrappers.
On the child PC:
git clone https://github.com/the-vibe-dev/guardiannode.git
cd guardiannode\agent-windows
py -3 -m venv .venv
.\.venv\Scripts\python -m pip install --upgrade pip
.\.venv\Scripts\python -m pip install -e ".[windows]"
.\.venv\Scripts\python -m src.main --pair --server http://<server-ip>:8787 --code <pair-code>
.\.venv\Scripts\python -m src.main
In a second terminal, start the tray:
.\.venv\Scripts\python -m src.tray_app
To launch from source whenever any Windows account signs in, add .cmd files to
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup. Use fully quoted
paths:
@echo off
cd /d "C:\path\to\guardiannode\agent-windows"
start "GuardianNode Agent" "C:\path\to\guardiannode\agent-windows\.venv\Scripts\python.exe" -m src.main
Create a second file for the tray:
@echo off
cd /d "C:\path\to\guardiannode\agent-windows"
start "GuardianNode Tray" "C:\path\to\guardiannode\agent-windows\.venv\Scripts\python.exe" -m src.tray_app
Install the Linux backend¶
On the server:
curl -fsSLO https://raw.githubusercontent.com/the-vibe-dev/guardiannode/v0.1.0-alpha.1/installer/server-linux/install.sh
# Verify the published checksum or signature before running:
sudo bash install.sh
For test systems without model downloads:
curl -fsSLO https://raw.githubusercontent.com/the-vibe-dev/guardiannode/v0.1.0-alpha.1/installer/server-linux/install.sh
# Verify the published checksum or signature before running:
sudo GN_NO_OLLAMA=1 bash install.sh
After install, open http://<server-ip>:8787/setup, create the admin account,
then use Devices -> Add device to generate the pairing code for the child
node.