The Control Plane
for your VPS

Self-hosted on your own server. VPSPilot lets you deploy apps, monitor servers and administer databases from one secure dashboard — without routinely using SSH.

$ curl -fsSL https://raw.githubusercontent.com/philtechphilips/VPS-PIlot-BE/main/deploy/install.sh | sudo bash -s -- --domain pilot.example.com
Platform

Everything you need to run servers without SSH

One dashboard on your own VPS for the whole lifecycle: enroll, deploy, observe, back up and audit.

Server Fleet

Enroll the control-plane host and any Ubuntu or Debian VPS. See every machine’s health at a glance.

Deploy Pipeline

Build pinned sources in isolation, health-check the candidate, then promote — or keep the last good release.

Agent Topology

Agents dial out over HTTPS. No inbound listener, no Docker socket or database port exposed to the browser.

Works with the stack you already run

UbuntuDebianDockerNode.jsNext.jsPythonDjangoFastAPIGoBunRustNginxPostgreSQLMySQLMariaDBRedis
Any stack

Push code. No Dockerfile required.

VPSPilot detects the language and framework, builds an image and releases it behind a health check. Bring a Dockerfile when you want full control.

Node.js

Servers and full-stack frameworks, with the Node version from your package.json.

Next.jsNuxtAstroSvelteKitNestJSExpress

Remix, Fastify, Hono, Koa · npm, pnpm, Yarn

Static front ends

Single-page apps are built, then served as static files.

ReactVueSvelteKitAngular

Vite, Create React App, Angular CLI

Python

Web apps served with gunicorn or uvicorn, or whatever your Procfile says.

DjangoFastAPIFlask

pip, Poetry, uv, Pipenv

Bun

Any Bun app, installed and started with Bun itself.

Hono, Elysia and friends

Go

Compiled in a build stage, shipped as a small image with your templates and assets.

Rust

Cargo release builds, shipped as a small image.

Static sites

Plain HTML, CSS and JavaScript, served as-is.

Anything else

Ruby, PHP, Java, .NET, Elixir… add a Dockerfile, or deploy a container image.

  1. 01Import a repo from GitHub or paste a Git URL
  2. 02VPSPilot reads the project and writes a Dockerfile you can see in the build log
  3. 03It builds, health-checks a candidate, then swaps it in with instant rollback
The dashboard

Everything about your servers, in one calm place.

Every server, one heartbeat away.

pilot.example.com/dashboard/servers/web-prod-01
Pelumi’s ServersOwner/Production/Servers
web-prod-01 Online
167.99.42.118Ubuntu 22.04 LTSDigitalOcean · Amsterdamheartbeat 5s ago
CPU
64%
Memory
72%
Disk
51%
Network out
21.7 MB/s
CPU · last hour
100%50%0%
13:0313:3314:02
Services & containers
storefront-web22.4%1.1 GB
worker-queue8.2%640 MB
redis-cache2.0%412 MB
mariadb-wp4.6%820 MB
nginx1.2%64 MB

Outbound-only agent

No inbound ports. Agents dial home over HTTPS.

Host & container metrics

CPU, memory, swap, disk, inodes and network.

Deduplicated alerts

Offline agents, pressure, failing checks, expiring TLS.

Bounded logs

journald and container logs, redacted at the source.

Foundation

Built on boring, proven tooling

Security

Safe by default. Auditable by design.

The browser never touches your hosts.

No Docker socket, no database port, no shell. Every change goes through the authorized API and a typed agent operation — and lands in the audit log.

✓ database.query.execute · 50 rows · 38ms
✗ rejected · write on read-only role
✓ backup.restore.verify · pg-restore-test

Outbound-only agents

No public inbound listener. Agents poll the control plane over authenticated HTTPS.

Encrypted secrets

Credentials encrypted with key material stored separately. Masked after entry.

No root shell

Every change is a typed, validated job — never an arbitrary command.

Private by default

Database ports stay private. Remote targets need trusted registration and TLS.

Confirm the destructive

Drops, flushes, overwrites and restores need typed confirmation.

MFA & session control

Owner MFA, login throttling and session revocation.

Changelog

Recently shipped

PostgreSQL
MySQL
Redis
MariaDB
MongoDB
SQLite
v1.1

Database Management Center

Register local, Dockerized or remote databases. Explore, query, manage users and verify restores.

Redis key browser

SCAN-based, type-aware views. Flushes require explicit confirmation.

hash cart:user:1042
string rate:ip:203.0…
zset leaderboard:weekly
list queue:emails

Restore verification

A backup isn’t done until it’s restored into a separate target.

▲ vpspilot backup verify pg-main
✓ checksum sha256:9c1e…f04a
✓ restored → pg-restore-test
✓ 128 tables · row counts match
Get started

Enroll a server in seconds

Start with the host the control plane runs on, then add every other VPS you own.

root@edge-jnb-01: ~
$
1

Install the control plane

One command on a fresh Ubuntu or Debian VPS.

2

Create the owner account

Strong password and MFA before production.

3

Enroll your servers

Single-use token, one installer per host.

4

Register databases

Point at existing PostgreSQL, MySQL or Redis.

Your servers. Your control plane.

Open source and self-hosted. Nothing leaves your infrastructure unless you send it.

Deploy VPSPilot
$ curl -fsSL https://raw.githubusercontent.com/philtechphilips/VPS-PIlot-BE/main/deploy/install.sh | sudo bash -s -- --domain pilot.example.com