Servers & Automated Provisioning
Learn how TurboV connects, provisions, monitors, tags, and secures remote servers.
1. Connecting a Server
TurboV supports any virtual private server (VPS) or bare-metal machine running Ubuntu 20.04+, 22.04+, 24.04+, or Debian 11/12 on x86_64 or arm64.
Installation Command
In the TurboV dashboard:
- Navigate to Servers → Add Server.
- Specify a recognizable name (e.g.
hetzner-fsn1-prod) and choose your cloud provider. - Copy the generated installation command:
curl -sSL https://install.turbov.io | bash -s -- --token <SERVER_REGISTRATION_TOKEN>- SSH into your host as
root(or run withsudo) and execute the command.
The installer supports unattended execution in cloud-init scripts, Terraform provisioning templates, or Ansible playbooks.
2. The 11-Step Provisioning Pipeline
Once the installer runs, the host communicates with the control plane through an authoritative 11-step state machine (ServerInfraStep). You can watch the real-time progress bar directly in the dashboard:
[START]
│
▼
[CHECK_DOCKER_COMPATIBILITY] ──► Verifies Linux kernel, architecture, and cgroups v2
│
▼
[INSTALL_DOCKER] ─────────────► Installs Docker Engine, containerd, and Compose plugins
│
▼
[CONFIGURE_DOCKER] ───────────► Sets daemon options with log rotation & live-restore
│
▼
[VERIFY_DOCKER] ──────────────► Probes Docker socket responsiveness via ping
│
▼
[ENSURE_NETWORK] ─────────────► Creates isolated Docker bridge network: turbov
│
▼
[PREPARE_TRAEFIK_DIRS] ───────► Creates /var/lib/turbov/traefik/ and dynamic/
│
▼
[WRITE_TRAEFIK_CONFIG] ───────► Generates static traefik.yml and fallback container
│
▼
[CHECK_PORT_CONFLICTS] ───────► Verifies host ports 80 and 443 are free
│
▼
[START_TRAEFIK] ──────────────► Launches container 'turbov-traefik' (traefik:v3.3.4)
│
▼
[VERIFY_TRAEFIK] ─────────────► Tests Traefik ping endpoint & verifies acme.json (0600)
│
▼
[COMPLETED] ──────────────────► Server transitioned to status: ONLINE
3. Automated Swap Memory Management
Compiling modern applications during container builds can cause transient memory spikes. On entry-level VPS instances with 1GB or 2GB of RAM, this can trigger the Linux kernel Out-Of-Memory (OOM) killer.
To prevent build failures, the TurboV Agent includes an automated Swap Manager:
- Detects physical host RAM upon initial setup.
- If RAM is $\le 2\text$ and no existing swap is present, the agent automatically creates, formats, and activates a dedicated swap file (
/swapfile). - Adds an entry to
/etc/fstabto persist swap across host reboots.
You can verify swap status on your host at any time:
swapon --show
free -h4. Hardware Telemetry & Monitoring
Every 30 seconds, the agent samples host metrics and streams telemetry to the control plane:
- CPU Metrics: Model name, physical cores, logical threads, clock frequency, and current load percentage.
- Memory: Total RAM, used RAM, cached RAM, and free memory.
- Disk Storage: Total partition size, used gigabytes, and remaining storage on root
/and/var/lib/turbov. - System Information: Hostname, OS distribution, kernel version, and CPU architecture (
x86_64orarm64).
Telemetry is displayed as interactive charts in the Server Overview tab in the dashboard.
5. Server Tags & Group Deployments
To manage multiple servers efficiently:
- Open Servers → Select your server → Settings.
- In the Tags section, add custom labels (e.g.
gpu,worker-pool,europe-west,database-host). - When configuring a service in an application, set the Deployment Target Mode to
TAG_GROUP. - The service will automatically deploy and scale across all servers sharing that tag.
6. Viewing Server Agent Logs in the Dashboard
You do not need to SSH into your server to inspect the agent daemon's operational logs:
- Open Servers → Select your server.
- Click View Agent Logs.
- A live modal displays the most recent 100 log lines streamed directly from the host systemd service, making troubleshooting provisioning issues or network drops instant.
7. Server Safe Mode
To protect production workloads during catastrophic host faults, TurboV features an automatic Safe Mode:
Triggers
- The agent experiences 3 consecutive unrecoverable Docker daemon crashes.
- Traefik fails to start repeatedly due to corrupted host firewall rules or fatal port conflicts.
- Host storage exceeds 98% utilization.
Safe Mode Behavior
- Server status transitions to
SAFE_MODE. - All automated deployments, database provisioning, and auto-updates are paused on this server to prevent cascading failure.
- Active containers continue running undisturbed.
- Administrators receive an alert with diagnostic instructions.
Resolving Safe Mode
Once you address the underlying issue on the server (e.g. freeing disk space with docker system prune -af), click Resume Server in the dashboard to trigger an infrastructure health re-check.
8. Removing a Server
To decommission or migrate a server:
- Ensure all applications and databases have been migrated or terminated.
- In the dashboard, open Server Settings → Danger Zone → Delete Server.
- To cleanly purge TurboV components from the physical host, run:
sudo systemctl stop turbov-agent sudo systemctl disable turbov-agent sudo rm -rf /opt/turbov /var/lib/turbov /etc/turbov /etc/systemd/system/turbov-agent.service sudo docker stop turbov-traefik turbov-fallback sudo docker rm turbov-traefik turbov-fallback sudo docker network rm turbov