kuberfy.

Self-hosted PaaS

Deploy anything.
Run almost nothing.

Kuberfy is the lightest self-hosted platform for shipping applications from your own servers — a single compiled binary, an embedded database, and Traefik for HTTPS. No Postgres to babysit, no Redis to justify.

$ curl -sSL https://kuberfy.pages.dev/install.sh | sudo sh

One command, one Linux server, root access. That's the whole install.

Why it's lighter

Most self-hosted platforms bundle a database server, a cache, and a full interpreted runtime just to manage a handful of containers. Kuberfy's control plane is a single compiled process reading a single SQLite file.

Typical self-hosted PaaS
Kuberfy
Database
Postgres server to run and back up
Embedded SQLite — no server, no backups to schedule
Runtime
Node.js interpreting your app on every boot
Compiled binary — starts instantly, nothing to interpret
Base image
A few hundred MB of OS and runtime
Alpine, ~5 MB before your app
Extra services
Redis, queue workers, cron runners
None — one process does it all
TLS certificates
Manual renewal or a bundled proxy to babysit
Traefik + Let's Encrypt, renewed automatically

Measured, not estimated

These numbers come from real Multipass VMs, not a spec sheet — steady-state usage captured with docker stats, and the install itself verified end-to-end on the smallest instance size that still worked.

23 MB

Kuberfy control plane, steady-state RAM

14 MB

Traefik, steady-state RAM

1 vCPU / 1 GB

Confirmed minimum — installs and runs with no OOM

~5 MB

Base image, before your application

The rest of a server's memory goes to dockerd, containerd, and buildkit — not to Kuberfy itself.

Everything you need, nothing you don't

The core deploy loop, done well — not a platform trying to be everything at once.

Deploy from Git or an image

Point Kuberfy at a repository and Dockerfile, or an existing image. It builds or pulls, then runs it.

Automatic HTTPS

Every application gets a routed domain and a signed certificate the moment it's attached — no manual config.

Projects & applications

Group related services under a project, each with its own applications, domains, and deploy history.

Full deploy history

Every build and run is recorded with its status and complete output, so a failure is never a mystery.

Role-based access

Email and password auth with an admin role, so you can hand out access without handing out root.

One-command install

A single script provisions Docker, Swarm, Traefik, and Kuberfy itself on a bare server.

One process, three moving parts

Traefik terminates TLS at the edge. Kuberfy holds the state and talks to the Docker socket. Docker runs your containers. That's the entire runtime footprint.

InternetTraefik:80 / :443, ACMEKuberfyAPI + dashboardSQLite, one fileYour app AYour app BYour app Cbuilds & runs via the Docker socket