---
title: Canine
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, deployment, kubernetes, paas, devops]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=Deployment, https://github.com/czetech/canine]
---

# 🚀 Canine

> **PaaS Kubernetes minimaliste** — la surcouche K8s la plus simple pour déployer des apps depuis Git, sans la complexité d'outils comme ArgoCD ou Rancher.

## 📋 Informations Générales

| Champ | Valeur |
| :--- | :--- |
| **Site web** | [canine.sh](https://canine.sh/) |
| **GitHub** | [czetech/canine](https://github.com/czetech/canine) |
| **License** | MIT |
| **Langage** | Ruby (Rails 7) + Hotwire |
| **Étoiles GitHub** | 2,9k ⭐ |
| **Catégorie** | [[cat-deployment\|Deployment]] |
| **Stack cible** | Kubernetes (K3s, EKS, GKE…) |

## 📝 Description

**Canine** est un **PaaS Kubernetes** conçu dans un esprit "simplicité radicale". Contrairement à ArgoCD (GitOps pur, déclaratif, sans UI vraiment pensée pour l'utilisateur final) ou à Kubero (plus complet mais aussi plus dense), Canine vise un public qui veut juste **pousser du code sur son cluster sans réfléchir à la grammaire Kubernetes**.

Le positionnement marketing officiel est "Heroku for Kubernetes" : on connecte un repo Git, on clique sur "Deploy", et Canine crée un Deployment, un Service, un Ingress avec TLS, et configure les variables d'environnement. Le tout en quelques secondes.

**Fonctionnalités principales** :

- ✅ **Déploiement Git** : push → build → deploy, buildpacks ou Dockerfile
- ✅ **TLS automatique** via cert-manager
- ✅ **Custom domains** : associer un domaine à chaque service
- ✅ **Add-ons managés** : PostgreSQL, MySQL, Redis (provisionnement en un clic)
- ✅ **Logs et exec** temps réel depuis l'UI
- ✅ **Rollback** en un clic (versions d'images Docker)
- ✅ **CLI** (`caninectl`) pour scripter les déploiements

**Positionnement vs Kubero** : Canine est **plus jeune et plus minimaliste** (2,9k ⭐ vs 4,3k). Si l'écosystème est moins riche, l'UX est plus directe. Pour un solo dev qui veut "Heroku sur son cluster K3s", Canine est probablement le bon choix. Pour une équipe de 5+ avec des add-ons complexes, Kubero est plus adapté.

## 🚀 Installation

### Prérequis
- Un cluster Kubernetes (K3s, microK8s, k3d, ou managé)
- `kubectl` configuré
- Helm 3

### Via Helm (recommandé)

```bash
# Ajouter le repo
helm repo add canine https://czetech.github.io/canine
helm repo update

# Créer le namespace
kubectl create namespace canine

# Installer
helm install canine canine/canine \
  --namespace canine \
  --set apiKey=$(openssl rand -hex 32) \
  --set ingress.host=canine.example.com
```

### Configuration DNS

Pointer un wildcard `*.canine.example.com` vers l'IP de l'Ingress. Canine utilise ce wildcard pour les apps déployées (ex. `monapp.canine.example.com`).

## ⚙️ Configuration

- **Git provider** : connecter un compte GitHub ou GitLab via OAuth
- **Registry** : Canine peut builder lui-même (buildpacks) ou utiliser des images pré-construites depuis Docker Hub, GHCR, GitLab Registry
- **Resource limits** : fixer requests/limits par projet pour protéger le cluster
- **Sleep mode** : configurer l'arrêt automatique des apps en dev/staging la nuit
- **API tokens** : créer un token par membre de l'équipe, avec un scope limité

## 🔗 Alternatives

- **[[app-kubero]]** — PaaS K8s plus complet, plus mature, mais plus dense à configurer
- **[[app-coolify]]** — PaaS Docker (pas K8s), plus accessible si vous n'avez pas de cluster
- **ArgoCD** — standard GitOps K8s, courbe d'apprentissage très raide
- **Rancher** — management de cluster complet, vise l'entreprise
- **Sealos** — PaaS K8s "cloud-like", très populaire en Chine

## 🔒 Sécurité

- ⚠️ **Ne pas exposer Canine sans Ingress TLS** : activer HTTPS en priorité
- **Limiter l'opérateur K8s** : le ServiceAccount de Canine crée des ressources, lui donner un ClusterRole minimal
- **Secrets et variables** : Canine stocke les secrets en Secrets K8s, mais le chiffrement at-rest d'`etcd` reste à activer au niveau du cluster
- **Audit** : activer les logs d'audit K8s pour tracer qui déploie quoi
- **Pas de multi-tenant fort** : Canine n'est pas conçu pour héberger des clients hostiles ; pour un PaaS commercial, préférer Sealos ou Qovery

## 📚 Ressources

- [Site officiel](https://canine.sh/)
- [Dépôt GitHub](https://github.com/czetech/canine)
- [Documentation](https://docs.canine.sh/)
- [Démo](https://demo.canine.sh/)

## 🔗 Pages Liées

- [[cat-deployment]]
- [[app-portainer]]
- [[app-kubero]]
- [[app-coolify]]
- [[cat-docker]]
- [[securisation-home-lab]]
- [[recettes-docker-compose]]
