Prerequisites & Hardware Specifications

Everything required to host applications on TurboV reliably in production.


1. Server Hardware Specifications

TurboV runs on any modern Linux server, whether virtualized (VPS from Hetzner, DigitalOcean, Linode, AWS EC2, Vultr) or bare metal.

ResourceMinimum (Development)Recommended (Small Team)Production (High Traffic)
CPU1 vCPU (x86_64 or ARM64)2–4 vCPUs4–8+ vCPUs
RAM1 GB4 GB8–16+ GB
Storage20 GB SSD50–100 GB NVMe200+ GB NVMe
SwapConfigured automatically2–4 GB4–8 GB
Network100 Mbps Public IP1 Gbps Dedicated IP1+ Gbps Static Public IPv4
Automatic Swap Management

Compiling modern TypeScript, Rust, or Go applications during Docker builds can cause transient memory spikes. If your server has 1GB or 2GB of RAM, the TurboV Agent automatically allocates a swap file (/swapfile) to ensure builds never fail with Out-Of-Memory (OOM) errors.


2. Operating System & Kernel Support

The TurboV Agent and Traefik v3 proxy support any distribution supporting modern Docker Engine (v24+) and cgroups v2:

  • Ubuntu: 20.04 LTS, 22.04 LTS, 24.04 LTS (Recommended)
  • Debian: 11 (Bullseye), 12 (Bookworm)
  • Architecture: linux/amd64 (x86_64) and linux/arm64 (AWS Graviton, Ampere, Apple Silicon virtualization)

3. Network & Firewall Configuration

Because the TurboV Agent connects to the backend over an outbound WebSocket, you do not need to open any incoming ports for the agent itself.

Only open the standard web ports required by Traefik to serve incoming HTTPS traffic:

PortProtocolInbound / OutboundPurpose
80TCPInboundHTTP traffic & Let's Encrypt ACME HTTP-01 challenges
443TCPInboundHTTPS encrypted production application traffic
22TCPInboundSSH administration access (restricted to your IP recommended)
443TCPOutboundAgent WebSocket connection to TurboV control plane
53UDP/TCPOutboundDNS resolution for Docker container package downloads

Example UFW (Uncomplicated Firewall) Setup

If you are using Ubuntu's ufw, configure your firewall before or after running the install script:

# Allow standard web traffic
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
 
# Allow SSH administration
sudo ufw allow 22/tcp
 
# Enable firewall
sudo ufw enable
Port Conflicts

Ensure that no existing web servers (such as standalone Nginx, Apache2, or Caddy) are currently listening on ports 80 or 443 before installation. Traefik must bind to these ports. If a conflict occurs, the TurboV provisioning engine detects it at step 9 (CHECK_PORT_CONFLICTS) and provides diagnostic guidance.


4. Domain & DNS Requirements

To route traffic to applications and automatically provision Let's Encrypt SSL certificates, you need access to a domain:

  • Apex Domain (e.g. example.com): Create an A record pointing to your server's public IPv4 address.
  • Subdomains (e.g. api.example.com, *.example.com): Create an A record pointing to the server IP or a CNAME record pointing to your apex domain.
  • Cloudflare Users: When using Cloudflare DNS, set the Proxy status to DNS only (Grey Cloud) during initial certificate issuance so that Let's Encrypt ACME validation can complete directly against your server.