Skip to content

A free and self-hosted PaaS alternative to Heroku / Netlify / Coolify / Vercel / Dokku / Portainer running on Kubernetes

License

Notifications You must be signed in to change notification settings

kubero-dev/kubero


License GitHub release (latest by date) Discord GitHub (Pre-)Release Date Demo

Kubero [pronounced: Kube Hero] is a self-hosted PaaS (Platform as a Service) that allows any developer to deploy their application on Kubernetes without specialized knowledge. Kubero follows the principles of 12-factor apps. It is possible to run apps based on existing containers or from source code.

More Screenshots and a full video on YouTube

Features (DEMO)

  • CI/CD Pipelines: Create unlimited pipelines with up to 4 separate staging environments for all your applications.
  • GitOps Review Apps: Automatically build, start, and clean up review apps when opening or closing pull requests.
  • Automatic Redeployments: Trigger app redeployments on pushes to branches or tags.
  • Docker Deployments: Deploy Docker containers on Kubernetes without needing Helm charts.
  • App Templates: Deploy popular applications like WordPress and Grafana with ready-to-use templates.
  • Add-ons Integration: Seamlessly deploy add-ons such as PostgreSQL and Redis alongside your applications.
  • API & CLI: Integrate seamlessly with existing tools and CI/CD workflows.
  • Metrics & Monitoring: Access integrated metrics to monitor application health.
  • Notifications: Get build and deployment updates via Discord, Slack, or Webhooks.
  • Vulnerability Scans: Perform scheduled or triggered scans for running applications.
  • Application Logs: View logs directly from the web UI for easy monitoring.
  • Safe Restarts: Restart applications safely and easily through the web UI.
  • Web Console: Use the built-in container web console for direct access.
  • Scheduled Tasks: Easily create and manage cronjobs.
  • Multi-Tenancy: Support for managing multiple tenants.
  • Single Sign-On (SSO): Authenticate securely with GitHub and OAuth2.
  • Basic Auth: Configure Basic Auth for your applications with ease.

Basic Concept

Kubero is Kubernetes native and runs with two containers on any Kubernetes instance (kubero-ui and Operator). All data is stored on your Kubernetes etcd without an extra database.

kubero  concept overview

Add-ons

Addon Maintainer Built in*
MySQL Bitnami
PostgreSQL Bitnami
Redis Bitnami
MongoDB Bitnami
Elasticsearch Bitnami
Kafka Bitnami
CouchDB Apache
Haraka Mail Server Kubero
Memcache Bitnami
RabbitMQ Bitnami
Cludflare Tunnels Adianth
Minio Minio
Percona MongoDB Cluster Percona
Crunchy Postgres Cluster Crunchy Data
Redis Cluster Opstree
CockroachDB CockroachDB
Clickhouse Altinity

* Ships with the Kubero Operator

164+ Application templates (similar to Heroku Buttons)

Check out the full list here or submit your own app! Read here how to do it.

Quickstart

1) Download and unpack the Kubero CLI (MacOS, Linux, Windows)

Binaries (MacOS, Linux)

$ curl -fsSL get.kubero.dev | bash

Brew (MacOS, Linux)

$ brew tap kubero-dev/kubero
$ brew install kubero-cli

2) Run kubero install to install all components on a new or your existing cluster

You can bring your own existing cluster or create one with the kubero install on one of the following providers:

  • GKE
  • Scaleway
  • DigitalOcean
  • Linode
  • Kind (local)

Supported GIT repositories (hosted and self-hosted)

  • Gitea / Forgejo
  • Gogs
  • Github
  • Gitlab
  • Bitbucket

Tested languages/frameworks

Basically everything that can be packaged in a single container can be deployed by Kubero.

  • GoLang (including Hugo, gin-gonic)
  • Python (including Flask)
  • JavaScript/NodeJS
  • PHP (including Laravel)
  • Ruby (including Rails)
  • Static HTML
  • Rust (including Rocket)
  • ...

How GitOps Works

  1. Create a pipeline with the phases you need (review, test, stage, production)
  2. (optional) Connect the pipeline to your git repository (GitHub, Bitbucket, GiLab, Gitea, Gogs)
  3. Configure your apps with cronjobs and addons

Kubero starts now building your app. Once the build is complete, Kubero will launch the final container and make it accessible via the configured domain.

Documentation

https://www.kubero.dev/docs/quickstart

Roadmap

https://github.com/orgs/kubero-dev/projects/1/views/3

Community

kubero Discord server Banner

Contributing

All contributions are welcome!

  • Rise an issue/bug/error
  • Open a feature request
  • Discuss ideas in the discussions section or discord
  • Fix typos (I do a lot of them)
  • Contribute code
  • Write articles

Supporting this project

Starring this project is a huge motivation. ⭐ Thank you!

Stargazers over time