A self-hosted, Docker-powered mini-Heroku that deploys and manages web apps on your own server from a git push.
CanineHQ/canine
A self-hosted, Heroku-style PaaS that deploys git-pushed apps to your own Kubernetes cluster through a web UI.
Open-source alternative to:Heroku
- Stars
- 2,939
- Forks
- 123
- Open issues
- 50
- Last commit
- 5 days ago
What is it?
Canine is a self-hosted deployment platform that gives you a Heroku-like workflow on top of your own Kubernetes infrastructure. You connect a GitHub or GitLab repository, and each push triggers a build and deployment without you writing kubectl commands or Kubernetes YAML manifests.
It builds Docker images from a Dockerfile or buildpacks and manages web services, background workers, and scheduled cron jobs. Teams can also configure CPU, memory, and GPU limits, custom domains with automatic SSL, environment variables and secrets, and persistent volumes for stateful workloads.
Canine can run on any Kubernetes cluster, whether in the cloud, on-premises, or at the edge. It can be started locally with Docker Compose, and a hosted Canine Cloud offering is also available.
Key features
- 01Deploys automatically from GitHub or GitLab pushes via webhooks.
- 02Builds Docker images from a Dockerfile or buildpacks.
- 03Runs web services, background workers, and scheduled cron jobs.
- 04Sets CPU, memory, and GPU limits per application.
- 05Manages custom domains with automatic SSL and environment variables or secrets.
Use cases
- Giving a team a Heroku-style deployment workflow on infrastructure they control.
- Deploying apps to an existing on-premises or cloud Kubernetes cluster without hand-writing manifests.
- Running background workers and scheduled jobs alongside web services.
Quick start
- 1
Clone the repository
git clone https://github.com/CanineHQ/canine.git - 2
Enter the project directory
cd canine - 3
Create the secret key file and start with Docker Compose, then open http://localhost:3000
echo "SECRET_KEY_BASE=$(openssl rand -hex 64)" > .env && docker compose up -d
Things to know
- Requires Docker v24.0.0 or higher and Docker Compose v2.0.0 or higher.
- Deploys to your own Kubernetes cluster, so you must provide and maintain one.
In collections
Topics
FAQ
- What is canine?
- A self-hosted, Heroku-style PaaS that deploys git-pushed apps to your own Kubernetes cluster through a web UI. Canine is a self-hosted deployment platform that gives you a Heroku-like workflow on top of your own Kubernetes infrastructure. You connect a GitHub or GitLab repository, and each push triggers a build and deployment without you writing kubectl commands or Kubernetes YAML manifests.
- Is canine free to use? What license does it have?
- canine is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is canine still maintained?
- Actively maintained. The last commit to canine was on Nov 2, 2026.
- What can I use canine for?
- Giving a team a Heroku-style deployment workflow on infrastructure they control. Deploying apps to an existing on-premises or cloud Kubernetes cluster without hand-writing manifests. Running background workers and scheduled jobs alongside web services.
- How do I install canine?
- Clone the repository: git clone https://github.com/CanineHQ/canine.git Enter the project directory: cd canine Create the secret key file and start with Docker Compose, then open http://localhost:3000: echo "SECRET_KEY_BASE=$(openssl rand -hex 64)" > .env && docker compose up -d
- Where can I get canine?
- The source code and installation instructions are on GitHub: https://github.com/CanineHQ/canine
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Self-hostable deployment platform for web apps, offering git-push deploys, preview URLs, custom domains, Postgres, auth and a mailer on your own server.
Open-source PaaS that runs on Kubernetes, covering cluster bootstrap, builds, releases, TLS URLs, config, logs and metrics from one CLI and dashboard.
A tiny self-hosted PaaS that deploys apps to your own servers with git push, using nginx and uWSGI.
A self-hosted PaaS for deploying web apps, databases, static sites and services, built on Docker Swarm and Caddy.
Self-hostable platform to deploy apps, databases and one-click services to your own servers over SSH, an alternative to Heroku, Netlify and Vercel.