mirror of
https://github.com/bunny-lab-io/Borealis.git
synced 2026-02-04 01:40:31 -07:00
3.5 KiB
3.5 KiB
Getting Started with Borealis
Back to Docs Index | Index (HTML)
Purpose
Help operators install, launch, and verify the Borealis Engine and (optionally) the Agent.
Quick Start (Engine)
- Windows production:
./Borealis.ps1 -EngineProduction(Engine UI athttps://localhost:5000). - Windows dev:
./Borealis.ps1 -EngineDev(Vite + Flask athttps://localhost:5173). - Linux Engine:
./Borealis.sh --EngineProduction(use--EngineDevfor Vite). - TLS is auto-provisioned under
Engine/Certificateson first launch.
Optional: Install the Agent (Windows)
- Run in elevated PowerShell:
./Borealis.ps1 -Agent. - Automated enrollment example:
./Borealis.ps1 -Agent -EnrollmentCode "E925-448B-626D-D595-5A0F-FB24-B4D6-6983" - Linux agent binaries are not available;
Borealis.sh --Agentonly stages settings.
First Run Checklist
- Open the Engine URL and confirm the login page loads.
- Check
Engine/Logs/engine.logfor startup messages. - Verify liveness:
GET /healthreturns{"status":"ok"}.
Reverse Proxy Notes
- Borealis expects HTTPS for production use.
- If you reverse proxy, preserve
Upgradeheaders for WebSockets and allow/socket.iopaths. - A Traefik example is included in
README.md.
API Endpoints
GET /health(No Authentication) - Engine liveness probe.GET /api/server/time(Operator Session) - Quick sanity check after login.
Related Documentation
Codex Agent (Detailed)
Bootstrap and runtime separation
- The authoritative source code lives in
Data/Engine/andData/Agent/. - Runtime copies are staged to
Engine/andAgent/every launch; these are disposable. - Always edit source under
Data/and re-run the bootstrap scripts to apply changes.
Launch mechanics
Borealis.ps1handles dependency setup, venv activation, and staging for Windows.Borealis.shprovides the same for Linux Engine; the Linux agent path only stages config today.- Dev mode (
-EngineDev/--EngineDev) uses Vite for the WebUI and Flask for APIs. - Production (
-EngineProduction/--EngineProduction) serves the built SPA through Flask.
Configuration precedence
- Engine config is assembled by
Data/Engine/config.pyin this order:- Explicit overrides passed to the app factory.
- Environment variables prefixed with
BOREALIS_. - Defaults baked into
config.py.
- Key defaults to remember:
- Database:
Engine/database.db - Logs:
Engine/Logs/engine.log,Engine/Logs/error.log,Engine/Logs/api.log - WireGuard: UDP 30000, engine virtual IP
10.255.0.1/32, shell port 47002
- Database:
TLS and certificates
- Engine generates an ECDSA root + leaf chain on first boot.
- TLS bundle lives under
Engine/Certificatesand is pinned by agents. - If you override TLS paths, update
BOREALIS_TLS_*env vars and restart.
Agent install and enrollment notes
- The Windows agent must run elevated to create services and scheduled tasks.
- Enrollment requires an install code and operator approval (see
device-management.md). - If enrollment fails, inspect
Agent/Logs/agent.logandEngine/Logs/engine.log.
Health verification
- Use
GET /healthto confirm the API is alive. - Use
GET /api/server/timeafter login to verify session auth and API reachability. - Confirm WebSockets by opening the UI and checking that toasts and live updates work.