System Requirements
import { Aside, Card, CardGrid } from ‘@astrojs/starlight/components’;
System Requirements
Section titled “System Requirements”Before installing UnboundBytes, make sure your server meets these requirements.
Server Specifications
Section titled “Server Specifications”Minimum Requirements
Section titled “Minimum Requirements”For light workloads (1-3 small apps):
| Component | Requirement |
|---|---|
| CPU | 2 cores (x86_64 or ARM64) |
| RAM | 2 GB |
| Storage | 20 GB (SSD preferred) |
| Network | Stable internet connection |
Recommended for Most Users
Section titled “Recommended for Most Users”For typical self-hosting (5-10 apps):
| Component | Requirement |
|---|---|
| CPU | 4+ cores |
| RAM | 4-8 GB |
| Storage | 100+ GB (SSD recommended) |
| Network | Stable internet connection, 10+ Mbps |
For Heavy Workloads
Section titled “For Heavy Workloads”If running resource-intensive apps (OpenCloud with 100+ users, photo libraries, etc.):
| Component | Requirement |
|---|---|
| CPU | 8+ cores |
| RAM | 16+ GB |
| Storage | 500+ GB (SSD required) |
| Network | Stable internet connection, 50+ Mbps |
Operating System
Section titled “Operating System”UnboundBytes supports modern Linux distributions:
Officially Supported
Section titled “Officially Supported”- Ubuntu 22.04 LTS, 24.04 LTS (recommended)
- Debian 12+ (Bookworm and newer)
- RHEL/CentOS 9+
- Rocky Linux 9+
- AlmaLinux 9+
Should Work But Not Officially Tested
Section titled “Should Work But Not Officially Tested”- Other Debian-based distributions (Linux Mint, Pop!_OS, etc.)
- Other RHEL-based distributions
- Fedora (recent versions)
Container Runtime
Section titled “Container Runtime”UnboundBytes apps run in Docker or Podman containers. You need one of:
Docker
Section titled “Docker”- 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
Section titled “Podman”- Podman 4.0+ (with socket activation enabled)
- Rootless Podman support included
Networking
Section titled “Networking”Required
Section titled “Required”- Outbound HTTPS (port 443) to
orchestrator.unboundbytes.com- Agent communicates with control plane - Stable internet connection - Apps can’t start or update if offline
Recommended
Section titled “Recommended”- Static IP address - Makes management easier, though not strictly required
- DNS - If you want to access apps via domain names (optional)
Not Required
Section titled “Not Required”- 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
Storage Considerations
Section titled “Storage Considerations”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
Pre-Installation Checklist
Section titled “Pre-Installation Checklist”Before you install, verify:
- Server is running a supported Linux distribution
- Docker or Podman is installed and running
- You have SSH access and
sudoprivileges - Server has stable internet connectivity
- You have adequate storage space
- You have an UnboundBytes account (or are joining the beta)
Network Architecture
Section titled “Network Architecture”UnboundBytes uses outbound connections only. Your server:
- Connects to
orchestrator.unboundbytes.comon port 443 - Establishes a WebSocket tunnel for commands
- 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
Firewall Rules
Section titled “Firewall Rules”Outbound (Required)
Section titled “Outbound (Required)”Allow your server to make outbound HTTPS connections:
# Allow outbound HTTPS (usually allowed by default)sudo ufw allow out 443/tcp
# Verify DNS resolution worksnslookup orchestrator.unboundbytes.comMost default firewall configurations already allow outbound HTTPS. If you have a restrictive firewall, ensure port 443 outbound is allowed.
Inbound (Not Required)
Section titled “Inbound (Not Required)”The agent doesn’t listen on any ports. Apps expose ports for local access only:
# Example: If running OpenCloud, allow local network access# Replace with your actual local network rangesudo ufw allow from 192.168.0.0/16 to any port 8080Environment Variables
Section titled “Environment Variables”The agent respects these configuration options:
| Variable | Description | Default |
|---|---|---|
UB_ORCHESTRATOR_URL | Override orchestrator endpoint | https://orchestrator.unboundbytes.com |
RUST_LOG | Log level (debug, info, warn, error) | info |
DOCKER_HOST | Docker socket path | /var/run/docker.sock |
Virtual Machine / Cloud Hosting
Section titled “Virtual Machine / Cloud Hosting”UnboundBytes works great on VMs and cloud instances:
Recommended Providers
Section titled “Recommended Providers”- 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.
Datacenter Considerations
Section titled “Datacenter Considerations”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
Troubleshooting Requirements Issues
Section titled “Troubleshooting Requirements Issues””Not enough space"
Section titled “”Not enough space"”# Check available storagedf -h /
# Free up space (delete old backups, clean Docker images)docker system prune -a"Docker not found"
Section titled “"Docker not found"”# Check if Docker is installeddocker --version
# Check if Docker daemon is runningsystemctl status docker
# Start Docker if neededsudo systemctl start docker"Permission denied”
Section titled “"Permission denied””# Add your user to the docker group (if not running as root)sudo usermod -aG docker $USERNext Steps
Section titled “Next Steps”Once your server meets these requirements:
- Install the agent - Connect your server
- Quick start guide - Deploy your first app
- Troubleshooting - If something doesn’t work