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.
| Resource | Minimum (Development) | Recommended (Small Team) | Production (High Traffic) |
|---|---|---|---|
| CPU | 1 vCPU (x86_64 or ARM64) | 2–4 vCPUs | 4–8+ vCPUs |
| RAM | 1 GB | 4 GB | 8–16+ GB |
| Storage | 20 GB SSD | 50–100 GB NVMe | 200+ GB NVMe |
| Swap | Configured automatically | 2–4 GB | 4–8 GB |
| Network | 100 Mbps Public IP | 1 Gbps Dedicated IP | 1+ Gbps Static Public IPv4 |
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) andlinux/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:
| Port | Protocol | Inbound / Outbound | Purpose |
|---|---|---|---|
| 80 | TCP | Inbound | HTTP traffic & Let's Encrypt ACME HTTP-01 challenges |
| 443 | TCP | Inbound | HTTPS encrypted production application traffic |
| 22 | TCP | Inbound | SSH administration access (restricted to your IP recommended) |
| 443 | TCP | Outbound | Agent WebSocket connection to TurboV control plane |
| 53 | UDP/TCP | Outbound | DNS 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 enableEnsure 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.