Skip to main content

Self-hosted · open source · AGPL

Your own cloud, on your own hardware.

One platform for the virtual machines, containers, and applications you run — managed from a single dashboard, with immutable deploys and one-click rollback that leaves your data in place. The operational model of a public cloud, on hardware you own.

AGPL · no sign-up · no telemetry · v0.1.0 pre-release

Deploy a new revision, then roll it back — one application, three revisions
  • demo-api-9f3c2a1stagedbuilt from your latest push, waiting
  • demo-api-7c1b8adliveserving traffic
  • demo-api-4a2e0d5previousthe prior release, held in reserve
postgres://db — your data lives here, outside every revision

demo-api-7c1b8ad is live — one revision staged, one held in reserve

Deploy & roll back

How it works

From a commit to a running application.

Most tools make you choose: deploy applications, or run the infrastructure they sit on. kixctl handles both, from one control plane.

  1. 01

    Connect a repository

    Point kixctl at a Git repository — GitHub, Forgejo, Gitea, or Codeberg — and add a short block that describes the application. Nothing to SSH into, and no Nix to learn.

  2. 02

    Push

    kixctl builds the commit into an immutable image and launches it as its own isolated instance — a system container or a virtual machine — alongside the version already serving traffic.

  3. 03

    Promote, or roll back

    Cut traffic over when you are ready. If something goes wrong, one action restores the previous revision — the code reverts, and your data stays exactly where it was.

Under the hood

You describe the application. kixctl builds the machine.

A short declarative spec becomes an immutable, reversible deployment — an image that is never patched in place, only replaced. You write no Nix yourself.

kixctl.app = {
  language   = "node";
  src        = ./demo-app;
  entrypoint = "demo-api";
  port       = 8080;
};

This is all kixctl needs to build the image, launch it, route to it, and inject its configuration.

Each of these links to where it is demonstrated, in the source and the docs. That is what open source is for.

A Proxmox alternative

Proxmox runs your VMs and containers. kixctl runs those too — and your applications.

kixctl runs virtual machines and system containers on your own hardware — the same work you would reach for Proxmox to do. What it adds is the layer Proxmox has no notion of: it builds your application from a Git push, launches it as its own immutable revision alongside the running one, and rolls it back cleanly when it has to. Same machines, same bare metal, with the full application lifecycle built in.

CapabilityProxmoxkixctl
Run virtual machines and system containers✓✓
Instant snapshot and restore✓✓
Deploy an application from a Git push✗✓
One-click rollback to an intact revision✗✓
Data kept outside the rollback boundary✗✓
Manage many clusters from one dashboard—✓
A control plane that cannot widen its own access✗✓
A mature, general-purpose, run-anything hypervisor✓✗

✓ today— partial✗ not a goal

FAQ

Common questions.

Do I have to learn NixOS, or use the command line?

No — and you never have to open a terminal if you would rather not. Everything runs from the dashboard: creating instances, deploying applications, snapshots, promotion, and rollback. The instances themselves can be any distribution in the catalog — Debian, Ubuntu, Alma, and so on. NixOS sits under the application-deploy path only, so a rollback lands on an intact previous version — and even there, you write a short declarative block, never Nix.

Isn’t this just a nicer Proxmox?

No — they solve different problems. Proxmox runs and manages virtual machines; kixctl deploys, isolates, and versions the applications that run on them, with a rollback Proxmox does not attempt. If managing VMs by hand is all you need, Proxmox is the right tool.

What happens to my data when I roll back?

It stays put. State lives outside the revision — on an attached volume, or a database the application connects to. A rollback reverts the code; your data remains exactly where it was.

Is it really open source?

Yes — AGPL. The free tier is limited by scale and time, never by capability. A commercial license is available for organizations the AGPL does not suit.

Does it phone home?

No. No telemetry, no sign-up, and no required phone-home. Paid allowances are verified from an offline, signed license.

When kixctl is not the right fit

  • You want to deploy one application to a single VPS. A focused platform such as Coolify or Kamal will serve you better, with far less underneath.
  • You need a mature, general-purpose hypervisor with years of hardening and the widest hardware and guest-OS support. That is Proxmox, and it is the right tool for the job.
  • You would rather not run the hardware yourself. kixctl is built for infrastructure you own and operate; a managed cloud is the better choice.

Deploys you can take back.

Point kixctl at hardware you own, and your first immutable, reversible deployment is minutes away — multiple workloads, real isolation between them, one control plane.

What v0.1 proves

  • The full push → land alongside → update → revert loop, on a real 3-node Incus cluster.
  • The root filesystem reverts on rollback; data on an attached volume survives.
  • Registering an existing network of 29 instances changed none of them.
  • v0.1.0 is tagged and boot-tested — the appliance image is a download away.

Open, AGPL, no sign-up. Developed in the open at github.com/kixago/kixctl.