Getting Started

Everything you need to understand and use TurboV effectively.

1. Prerequisites

RequirementExamples
A VPSDigitalOcean, Hetzner, AWS, Linode, Vultr
A Domain NamePurchased from any registrar
A GitHub RepositoryPublic or private
SSH AccessRoot or sudo privileges on your server

2. How TurboV Works

Understanding the deployment flow helps you trust the infrastructure:

UserGitHubTurboV BackendAgentServerApp

Deployment Flow

  1. GitHub App Listens — The TurboV GitHub App listens for push events on your selected repositories.
  2. TurboV Orchestrates — The backend receives webhook events and coordinates deployment instructions.
  3. Agent Executes — The agent running on your server receives instructions and performs the actual deployment.
  4. Docker Builds & Runs — Your application is containerized and started using Docker.
  5. Traefik Routes Traffic — The reverse proxy handles incoming requests and routes them to your containers.

3. Connect a Server

The install script sets up everything your server needs to run applications.

What the Install Script Does

  • Installs Docker and Docker Compose
  • Installs and configures Traefik reverse proxy
  • Sets up the TurboV agent as a systemd service
  • Configures firewall rules for required ports
  • Registers the server with your TurboV account

Permissions Required

The script requires root or sudo access to install packages and configure system services.

Ports Used

PortPurpose
80HTTP (redirects to HTTPS)
443HTTPS traffic
22SSH access

Run the Install Command

curl -sSL https://install.turbov.io | bash -s -- --token YOUR_TOKEN

Get your token from the dashboard: ServersAdd Server

4. Connect GitHub

TurboV uses a GitHub App for secure, granular access to your repositories.

Permissions Requested

PermissionReasonScope
Repository accessRead access to clone and deploy your codeOnly repositories you explicitly select
Webhook eventsListen for push events to trigger automatic deploymentsOnly on selected repositories
Commit metadataDisplay commit messages and authors in deployment historyRead-only access
Your Control

You choose which repositories the GitHub App can access. TurboV cannot access any repository you haven't explicitly granted permission to.

5. Deploy Your First App

Quick Steps

  1. Click Add App in the dashboard
  2. Select a repository from your connected GitHub account
  3. (Optional) Add environment variables
  4. Add a domain for your application
  5. Click Deploy

Build Methods

TurboV automatically detects the best build method for your project:

MethodDescription
Auto-detectionNext.js, Go, Python, Node.js, and more are detected automatically
DockerfileIf a Dockerfile exists, it will be used for the build
nixpacksFalls back to nixpacks for automatic environment setup
CustomOverride detection with custom build commands

What Happens on Deploy?

  1. Code is cloned from your repository
  2. Docker image is built on your server
  3. Container starts with your environment variables
  4. Traefik routes traffic to the new container
  5. SSL certificate is automatically provisioned

Viewing Logs

Stream live build and runtime logs directly from the dashboard. Logs are also stored for historical viewing.

6. Environment Variables

Encryption & Storage

  • ✓ All environment variables are encrypted at rest using AES-256
  • ✓ Variables are stored in the TurboV backend database
  • ✓ Values are never exposed in logs or the UI after saving

Injection into Containers

Environment variables are securely transmitted to the agent and injected into containers at runtime. They are not baked into the Docker image.

Updates Trigger Redeploy

When you update environment variables, the application is automatically redeployed to pick up the new values.

Bulk Import

Paste your entire .env file contents for quick setup.

7. Domains & HTTPS

Domain Configuration

  1. Add your domain in the application settings
  2. Configure DNS A record pointing to your server IP
  3. TurboV verifies domain ownership automatically

SSL Certificates

  • ✓ Automatic SSL via Let's Encrypt
  • ✓ Certificates are provisioned within minutes
  • ✓ Auto-renewal before expiration
  • ✓ HTTP automatically redirects to HTTPS
DNS Propagation

DNS changes can take 5 minutes to 48 hours to propagate globally. SSL provisioning begins once DNS is verified.

8. What Happens on New Commit?

Automatic Redeploy

When you push to your configured branch, TurboV automatically triggers a new deployment:

  • GitHub webhook notifies TurboV of the push
  • New deployment is queued for your application
  • Agent pulls latest code and rebuilds
  • New container replaces the old one

In-Progress Deploys

If a deploy is already in progress when a new commit is pushed, the current deploy is cancelled and the new one starts fresh.

Zero-Downtime Strategy

TurboV uses a blue-green deployment strategy. The new container starts and becomes healthy before traffic is routed to it, ensuring zero downtime during deployments.

9. Managing Deployments

Viewing Logs

Access real-time build logs and runtime logs from the application detail page. Logs are retained for troubleshooting.

Cancelling Deploys

Cancel an in-progress deployment from the dashboard. The current container (if any) continues running.

Rollbacks

View your deployment history and redeploy a previous version if needed. Each deployment is tagged with its commit SHA.

Application Controls

ActionDescription
StartStart a stopped application
StopStop a running application
RestartRestart without rebuilding