Agent Installation
import { Steps, Tabs, TabItem, Aside, Card, CardGrid } from ‘@astrojs/starlight/components’;
Installing the UnboundBytes Agent
Section titled “Installing the UnboundBytes Agent”The UnboundBytes Agent is a lightweight daemon that connects your server to the UnboundBytes control plane. Installation takes about 5 minutes.
Quick Install (Recommended)
Section titled “Quick Install (Recommended)”The easiest way to install the agent is with the one-line installer:
curl -fsSL https://get.unboundbytes.com/agent | bashThis script:
- Detects your OS and architecture
- Downloads the latest agent binary
- Verifies the download (SHA256 checksum)
- Installs to
/usr/local/bin/unboundbytes-agent - Optionally creates a systemd service for auto-start
That’s it! The installer guides you through each step.
Manual Installation
Section titled “Manual Installation”If the quick installer doesn’t work for your environment, you can install manually:
-
Detect your platform
Terminal window # Check architectureuname -m# Output: x86_64 or aarch64# Check OSuname -s# Output: Linux or Darwin -
Download the agent binary
```bash curl -LO https://releases.unboundbytes.com/agent/latest/unboundbytes-agent-linux-x86_64.tar.gz ``` ```bash curl -LO https://releases.unboundbytes.com/agent/latest/unboundbytes-agent-linux-aarch64.tar.gz ``` ```bash curl -LO https://releases.unboundbytes.com/agent/latest/unboundbytes-agent-darwin-x86_64.tar.gz ``` ```bash curl -LO https://releases.unboundbytes.com/agent/latest/unboundbytes-agent-darwin-aarch64.tar.gz ``` -
Extract and install
Terminal window # Extract the archivetar -xzf unboundbytes-agent-*.tar.gz# Install to /usr/local/binsudo mv unboundbytes-agent /usr/local/bin/sudo chmod +x /usr/local/bin/unboundbytes-agent# Verify installationunboundbytes-agent --version -
Create systemd service (Linux only)
```bash sudo tee /etc/systemd/system/unboundbytes-agent.service << 'EOF' [Unit] Description=UnboundBytes Agent After=network-online.target docker.service Wants=network-online.target docker.service [Service]Type=simpleUser=rootExecStart=/usr/local/bin/unboundbytes-agentRestart=alwaysRestartSec=10Environment=RUST_LOG=infoStandardOutput=journalStandardError=journal[Install]WantedBy=multi-user.targetEOF``````bash sudo tee /etc/systemd/system/unboundbytes-agent.service << 'EOF' [Unit] Description=UnboundBytes Agent After=network-online.target docker.service Wants=network-online.target docker.service [Service]Type=simpleExecStart=/usr/local/bin/unboundbytes-agentRestart=alwaysRestartSec=10Environment=RUST_LOG=infoStandardOutput=journalStandardError=journal[Install]WantedBy=multi-user.targetEOF``` -
Enable and start the service
Terminal window sudo systemctl daemon-reloadsudo systemctl enable unboundbytes-agentsudo systemctl start unboundbytes-agent -
Verify the agent is running
Terminal window sudo systemctl status unboundbytes-agent
Post-Installation Setup
Section titled “Post-Installation Setup”1. Check Agent Status
Section titled “1. Check Agent Status”Verify the agent started successfully:
# Check systemd statussudo systemctl status unboundbytes-agent
# View recent logssudo journalctl -u unboundbytes-agent -n 20 -f
# Expected output# Jan 24 10:30:00 myserver unboundbytes-agent[1234]: Starting agent v2.1.0# Jan 24 10:30:01 myserver unboundbytes-agent[1234]: Connecting to orchestrator...# Jan 24 10:30:02 myserver unboundbytes-agent[1234]: Device pairing code: ABC-1232. Pair Your Device
Section titled “2. Pair Your Device”The agent prints a pairing code on first start. You’ll use this to connect your server to the portal:
-
Get the pairing code
If the agent is running as a service, check the logs:
Terminal window sudo journalctl -u unboundbytes-agent -n 5Look for a line like:
Device pairing code: ABC-123-DEF -
Open the UnboundBytes Portal
Visit https://portal.unboundbytes.com and sign in to your account
-
Navigate to Devices
Click Devices in the left sidebar
-
Add a Device
Click Pair Device and paste or enter your pairing code
-
Confirm the pairing
The agent will verify the code and your device will appear as Online
3. Verify Docker/Podman
Section titled “3. Verify Docker/Podman”The agent needs Docker or Podman to run apps. Verify it’s working:
# Check Dockerdocker ps
# If you get a permission error, add your user to the docker groupsudo usermod -aG docker $USER# Then log out and back in, or:newgrp dockerConfiguration
Section titled “Configuration”Environment Variables
Section titled “Environment Variables”You can customize the agent behavior with environment variables:
Add environment variables:```ini[Service]Environment=RUST_LOG=debugEnvironment=UB_ORCHESTRATOR_URL=https://custom.endpoint.com```
Then restart:```bashsudo systemctl restart unboundbytes-agent```Common Configuration Options
Section titled “Common Configuration Options”| Variable | Description | Default |
|---|---|---|
RUST_LOG | Log level (debug, info, warn, error) | info |
UB_ORCHESTRATOR_URL | Override orchestrator endpoint | https://orchestrator.unboundbytes.com |
DOCKER_HOST | Docker socket path | /var/run/docker.sock |
Updating the Agent
Section titled “Updating the Agent”The agent checks for updates automatically and applies them in the background. You don’t need to do anything.
To manually check for updates:
# The agent will check on startupsudo systemctl restart unboundbytes-agent
# Watch the logssudo journalctl -u unboundbytes-agent -fTroubleshooting
Section titled “Troubleshooting”Agent Won’t Start
Section titled “Agent Won’t Start”# Check logs for errorssudo journalctl -u unboundbytes-agent -n 50
# Common issues:# - Docker not running: sudo systemctl start docker# - Agent already running: sudo systemctl status unboundbytes-agent# - Port in use: sudo lsof -i :8080Docker Permission Denied
Section titled “Docker Permission Denied”# Add user to docker groupsudo usermod -aG docker $USER
# Apply new group membershipnewgrp docker
# Verifydocker psAgent Can’t Connect to Orchestrator
Section titled “Agent Can’t Connect to Orchestrator”# Check network connectivitycurl -v https://orchestrator.unboundbytes.com/health
# Check firewallsudo ufw status# Should allow outbound HTTPS (port 443)
# Check logssudo journalctl -u unboundbytes-agent -fDevice Won’t Pair
Section titled “Device Won’t Pair”- Make sure the pairing code hasn’t expired (codes last 15 minutes)
- Restart the agent to get a new code:
Terminal window sudo systemctl restart unboundbytes-agentsudo journalctl -u unboundbytes-agent -n 5 - Try pairing again in the portal
Uninstalling
Section titled “Uninstalling”If you need to remove the agent:
# Stop the servicesudo systemctl stop unboundbytes-agent
# Remove the servicesudo systemctl disable unboundbytes-agentsudo rm /etc/systemd/system/unboundbytes-agent.servicesudo systemctl daemon-reload
# Remove the binarysudo rm /usr/local/bin/unboundbytes-agentNext Steps
Section titled “Next Steps”Once the agent is installed and paired:
- Deploy your first app - Deploy in 5 minutes
- Browse the app catalog - See what’s available
- Configure backups - Set up automatic backups