Skip to content

System Requirements

import { Aside, Card, CardGrid } from ‘@astrojs/starlight/components’;

Before installing UnboundBytes, make sure your server meets these requirements.

For light workloads (1-3 small apps):

ComponentRequirement
CPU2 cores (x86_64 or ARM64)
RAM2 GB
Storage20 GB (SSD preferred)
NetworkStable internet connection

For typical self-hosting (5-10 apps):

ComponentRequirement
CPU4+ cores
RAM4-8 GB
Storage100+ GB (SSD recommended)
NetworkStable internet connection, 10+ Mbps

If running resource-intensive apps (OpenCloud with 100+ users, photo libraries, etc.):

ComponentRequirement
CPU8+ cores
RAM16+ GB
Storage500+ GB (SSD required)
NetworkStable internet connection, 50+ Mbps

UnboundBytes supports modern Linux distributions:

  • Ubuntu 22.04 LTS, 24.04 LTS (recommended)
  • Debian 12+ (Bookworm and newer)
  • RHEL/CentOS 9+
  • Rocky Linux 9+
  • AlmaLinux 9+
  • Other Debian-based distributions (Linux Mint, Pop!_OS, etc.)
  • Other RHEL-based distributions
  • Fedora (recent versions)

UnboundBytes apps run in Docker or Podman containers. You need one of:

  • Docker Engine 20.10+ or Docker Desktop (includes Docker Engine)
  • Docker daemon should be running and accessible
  • The agent runs as root to manage containers and system resources
  • Podman 4.0+ (with socket activation enabled)
  • Rootless Podman support included
  • Outbound HTTPS (port 443) to orchestrator.unboundbytes.com - Agent communicates with control plane
  • Stable internet connection - Apps can’t start or update if offline
  • Static IP address - Makes management easier, though not strictly required
  • DNS - If you want to access apps via domain names (optional)
  • Port forwarding - Apps are accessed locally; secure tunnels for remote access coming soon
  • Public IP address - Works behind NAT and firewalls
  • Inbound ports - Agent initiates outbound connections only, no listening ports required
Minimum 20 GB for the OS and agent. 50+ GB recommended. Varies by app. Plan 10-100 GB per major app. Keep 1.5x to 2x the size of app data for backups.

Storage calculation example:

  • OS + agent: 10 GB
  • OpenCloud with 100 GB files: 150 GB backup
  • Immich with 200 GB photos: 300 GB backup
  • Total needed: ~600 GB SSD

Before you install, verify:

  • Server is running a supported Linux distribution
  • Docker or Podman is installed and running
  • You have SSH access and sudo privileges
  • Server has stable internet connectivity
  • You have adequate storage space
  • You have an UnboundBytes account (or are joining the beta)

UnboundBytes uses outbound connections only. Your server:

  1. Connects to orchestrator.unboundbytes.com on port 443
  2. Establishes a WebSocket tunnel for commands
  3. Accepts app connections from your local network

No inbound ports need to be open. This means:

  • ✅ Works behind firewalls and NAT
  • ✅ Works on home networks
  • ✅ Works in cloud VPCs with restrictive security groups
  • ✅ No need to expose your server to the internet

Allow your server to make outbound HTTPS connections:

Terminal window
# Allow outbound HTTPS (usually allowed by default)
sudo ufw allow out 443/tcp
# Verify DNS resolution works
nslookup orchestrator.unboundbytes.com

Most default firewall configurations already allow outbound HTTPS. If you have a restrictive firewall, ensure port 443 outbound is allowed.

The agent doesn’t listen on any ports. Apps expose ports for local access only:

Terminal window
# Example: If running OpenCloud, allow local network access
# Replace with your actual local network range
sudo ufw allow from 192.168.0.0/16 to any port 8080

The agent respects these configuration options:

VariableDescriptionDefault
UB_ORCHESTRATOR_URLOverride orchestrator endpointhttps://orchestrator.unboundbytes.com
RUST_LOGLog level (debug, info, warn, error)info
DOCKER_HOSTDocker socket path/var/run/docker.sock

UnboundBytes works great on VMs and cloud instances:

  • DigitalOcean - Droplets (4GB recommended)
  • Linode/Akamai - Linodes (4GB recommended)
  • Vultr - Cloud Compute
  • Hetzner - Cloud instances
  • AWS EC2 - t3.medium or larger
  • Google Cloud - e2-medium or larger
  • Home Lab - Proxmox, ESXi, etc.

For backups and app performance:

  • Choose a region close to where you’ll use the apps
  • Single region is fine—UnboundBytes doesn’t require multi-region setup
Terminal window
# Check available storage
df -h /
# Free up space (delete old backups, clean Docker images)
docker system prune -a
Terminal window
# Check if Docker is installed
docker --version
# Check if Docker daemon is running
systemctl status docker
# Start Docker if needed
sudo systemctl start docker
Terminal window
# Add your user to the docker group (if not running as root)
sudo usermod -aG docker $USER

Once your server meets these requirements:

  1. Install the agent - Connect your server
  2. Quick start guide - Deploy your first app
  3. Troubleshooting - If something doesn’t work