TurboPanel Docs
Getting Started

Installation

TurboPanel spans multiple repositories. Pick the path that matches your goal — the three primary paths below do not substitute for one another.

TurboPanel installation path decision — diagram will load when scrolled into view

Path comparison

PathWho it is forStatus today
Contributor developmentEngineers working on TurboPanel sourceAvailable for contributors
Self-hosted control planeOperators who run the panel on their infrastructurePrivate alpha — preview docs only
TurboPanel High AvailabilityOperators who want TurboPanel to run the panelPrivate alpha — join the waitlist

Enrolling additional managed servers (daemons on workload hosts) uses the production installer at turbopanel.sh once you have a control plane — see Additional managed server daemons below.

Contributor development

For contributors building TurboPanel itself — not for production self-hosted or TurboPanel High Availability installs.

Clone (or fork) the six sibling repos under one parent directory (dev, turbopaneld, turbopanel, ui, website, .github). See Local development.

Confirm the host meets the Prerequisites (Intel Core i7-4790K or equivalent, 16 GB RAM minimum / 24 GB+ recommended / 32 GB ideal), then install Vagrant plus a provider (libvirt on Linux, UTM on macOS).

From the dev checkout:

Terminal
vagrant up
vagrant ssh
dev/console

The console installs pinned Node, converges the stack, and starts the Ink UI.

On the host, open https://localhost:8443 (ports are forwarded). Prefer a LAN hostname when attaching remote test machines.

See Local development for ports, console areas, and day-to-day workflow.

Self-hosted control plane (preview)

Private alpha — not yet publicly available

Self-hosted production installs are in private alpha alongside TurboPanel High Availability. This section documents the planned managed install path — not the contributor dev console.

When self-hosted is publicly available, you provision a control plane on Debian (the installer refuses other distributions) and enroll servers with the production daemon installer. Today, use contributor development only if you are building TurboPanel; otherwise preview self-hosted docs.

Provision a 64-bit Linux host (Debian 12+ recommended).

Install the control plane:

Terminal
curl -fsSL turbopanel.sh | sh

Run with nothing else, the installer downloads the current release packages (instance, UI and the daemon's orchestration tree) from GitHub Releases, verifies every one against its manifest, converges the host with the daemon's Ansible roles (Postgres, Redis, RabbitMQ, Docker, certificates, Caddy), applies the database migrations and starts the units — see Control plane for the flags. It takes no license and enrols no daemon; the wizard issues the first license.

Complete the install wizard at https://<host>:8443 (host PAM + superadmin).

Enroll each managed server with turbopanel.sh and a license — Daemon setup.

Not the contributor Vagrant workflow

Contributor development uses Vagrant and sibling checkouts — see Local development. It is not the production self-hosted install path.

TurboPanel High Availability

Private alpha — join the waitlist

TurboPanel High Availability is not yet publicly available. Join the waitlist for access updates. The instance runs on Cloudflare Workers; remote daemons connect over HTTPS/WSS. See Control plane for how hosted coordination works.

When access is available, you create an organization in the hosted panel, obtain server licenses, and enroll nodes with turbopanel.sh (no TURBOPANEL_HOST required — the installer uses the channel manifest default).

Additional managed server daemons

Install the daemon on servers that should be managed remotely (not the co-located control plane). Obtain a license from your organization first.

Terminal
curl -fsSL turbopanel.sh | TURBOPANEL_LICENSE=<base64url-encoded-license> sh
Terminal
curl -fsSL turbopanel.sh | \
  TURBOPANEL_LICENSE=<base64url-encoded-license> \
  TURBOPANEL_HOST=https://<instance-host>:8443 \
  sh

The installer self-escalates with sudo and prompts for your password when needed — do not prefix the pipeline with sudo.

Replace host and port with where the instance is reachable from the node. The installer fetches the platform CA from /api/daemon/v1/instance/ca automatically for HTTPS instances.

Supported platforms (managed nodes)

OSArchitecture
Debian 12+x86_64 (amd64), aarch64 (arm64)
Raspberry Pi OS 64-bitaarch64 (arm64) only

32-bit ARM (including 32-bit Raspberry Pi OS) is not supported.

Full options and examples: Daemon setup.

Prerequisites (all paths)

  • 64-bit Linux server (Debian 12+ recommended for Ansible paths; Raspberry Pi OS 64-bit on arm64)
  • Docker (optional — installed on demand when a node runs container workloads)
  • SSH access to GitHub for platform repo clones on co-located dev hosts (git@github.com:TurboPanel/...)
  • For contributor dev: see Prerequisites

Next steps

Edit on GitHub

Last updated on

On this page