This guide walks you through deploying the Bor server and enrolling your first agent.
Prerequisites
- Server: Podman or Docker with compose support
- Agent: Go 1.21+ (for building from source)
- Development: Protocol Buffers compiler (
protoc), Node.js 22+
Deploy the Server
Clone the repository
git clone https://github.com/VuteTech/bor.git cd borStart with Podman Compose
podman-compose up -dThis starts:
- PostgreSQL database (port 5432)
- Bor server (HTTPS on port 8443)
- Auto-generated internal CA and TLS certificates
Open the Web UI
Navigate to
https://localhost:8443in your browser.
Build and Enroll the Agent
Build the agent binary
make agentCreate a configuration file
mkdir -p /etc/bor cp config.yaml.example /etc/bor/config.yamlEdit
/etc/bor/config.yamland set the server address:server: address: "your-server:8443"Generate an enrollment token
In the Web UI, go to the Node Groups page and generate a one-time enrollment token.
Enroll the agent
./bor-agent --token <ENROLLMENT_TOKEN>The agent generates a key pair, sends a CSR to the server, and receives a signed certificate. Credentials are stored in
/var/lib/bor/agent/.Run the agent
After enrollment, start the agent normally:
./bor-agentOr install it as a systemd service — see the Agent guide for details.