# Self-hosted PaaS A comparison table of [platform-as-a-service](!W "Platform as a service") or "Heroku clone" software that you can run on your own servers. "Self-hosted platform as a service" may seem like a contradiction, but it can make it easier to manage your applications in a uniform way. I focus on the smaller and simpler projects; no Kubernetes here. Projects listed as "multi-server" support use on a single server. ## Table | Project name and link | Type | Technologies | Management | License | Notes | |-|-|-|-|-|-| | [CapRover](https://github.com/CapRover/CapRover) | Multi-server (Docker swarm mode) | Node.js, TypeScript, Docker | Web UI | Source-available free to self-host | Formerly open-source under Apache-2.0. | | [Coolify](https://github.com/coollabsio/coolify) | Multi-server (independent Docker Engines) | PHP, Docker | Web UI | Apache-2.0 | | | [Dokku](https://github.com/dokku/dokku) | Multi-server (K3s) | Bash, Docker | CLI on the server | MIT | | | [Dokploy](https://github.com/Dokploy/dokploy) | Multi-server (Docker swarm mode) | Node.js, TypeScript, Docker | Web UI | Apache-2.0 (core), source-available free to self-host (multi-node, Docker Compose support) | | | [Exoframe](https://github.com/exoframejs/exoframe) | Multi-server (Docker swarm mode) | Node.js, JavaScript, Docker | CLI client on the deployment machine | MIT | Latest commit in 2023. | | [Nua](https://github.com/abilian/nua) | Single-server | Python, Docker | CLI on the server | AGPL-3.0-only | Documenation warns you to not yet use it in production. | | [Piku](https://github.com/piku/piku) | Single-server | Python | CLI client on the deployment machine | MIT | Smaller than Dokku. Does not use Docker. Runs on low-end devices. Known to work on FreeBSD. | | [Sailor](https://github.com/mardix/sailor) | Single-server | Python | CLI on the server | MIT | A fork of Piku. Does not use Docker. Latest commit in 2023. | | [Skate](https://github.com/skateco/skate) | Multi-server | Rust, systemd | CLI on the client | Apache-2.0 | Deploys Kubernetes manifests (Cronjob, Deployment, Ingress, Secret, etc.) without Kubernetes using systemd. | | [Swarmlet](https://github.com/swarmlet/swarmlet) (archived) | Multi-server (Docker swarm mode) | Bash, Docker | CLI on the server | MIT | | | [SwiftWave](https://github.com/swiftwave-org/swiftwave) | Multi-server (Docker swarm mode) | Go, Docker | Web UI, CLI on the server | Apache-2.0 | | ## Extras - [Wharf](https://github.com/palfrey/wharf)---a web UI for Dokku. Written in Python. ## Page metadata URL: Published 2020-06-10, updated 2025-12-04. Tags: - deployment - programming - sysadmin