L’auto-hébergement de Kamal offre une alternative open-source axée sur la confidentialité aux plateformes de messagerie propriétaires. Ce guide vous accompagne dans le déploiement de Kamal dans un conteneur Docker sur un VPS, adapté aux développeurs et aux passionnés de homelab cherchant un contrôle total sur leur service de messagerie.
Prérequis
Avant de commencer, assurez-vous de disposer de :
- Un compte chez un fournisseur VPS (Contabo, Hetzner, DigitalOcean, Vultr, Linode)
- Un nom de domaine (optionnel mais recommandé)
- Une connaissance de base de la ligne de commande Linux
- Docker installé sur votre VPS (ou la volonté de l’installer)
Choisir un fournisseur de VPS
Pour un auto-hébergement économique, comparez les options :
| Fournisseur | Prix | Fonctionnalités | Lien affilié |
|---|---|---|---|
| Contabo VPS | 5,99 EUR/mois | Grande capacité de RAM, stockage SSD | Contabo VPS |
| Hetzner Cloud | 4,15 EUR/mois | Haute performance, SSD | Hetzner Cloud |
| DigitalOcean | 6 USD/mois | Mise en place facile, documentation étendue | DigitalOcean |
| Vultr | 6 USD/mois | Centres de données mondiaux | Vultr |
| Linode | 5 USD/mois | Spécifications équilibrées, fiable | Linode |
Pour une comparaison complète, consultez la page [comparaison complète des VPS].
Configuration du VPS
- Déployer votre VPS - choisissez votre fournisseur préféré, déployez une distribution Linux minimale (Ubuntu 22.04 recommandé).
- Se connecter via SSH :
ssh username@votre-ip-vps
- Mettre à jour le système :
sudo apt update && sudo apt upgrade -y
- Installer Docker :
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
- Vérifier l’installation de Docker :
docker --version
Déploiement de Kamal avec Docker
Kamal propose une image Docker qui simplifie le déploiement. Suivez ces étapes :
1. Créer un fichier Docker Compose
Créez un répertoire pour Kamal :
mkdir kamal && cd kamal
Créez docker-compose.yml :
version: '3'
services:
kamal:
image: kamalio/kamal:latest
container_name: kamal
restart: unless-stopped
environment:
- DOMAIN=votredomaine.com
- PORT=8080
- DEFAULT_CLUSTER_NAME=kamal-cluster
ports:
- "80:80"
- "443:443"
volumes:
- ./config:/app/config
Remplacez
votredomaine.compar votre domaine réel ou l’IP de votre VPS si vous faites un test local.
2. Configurer SSL (Optionnel mais recommandé)
Utilisez Certbot pour obtenir des certificats SSL :
sudo apt install certbot python3-certbot-nginx
sudo certbot --nginx -d votredomaine.com
Mettez à jour votre docker-compose.yml avec des variables d’environnement SSL ou faites tourner Kamal derrière un reverse proxy qui gère SSL.
3. Lancer Kamal
docker-compose up -d
Vérifiez que les conteneurs sont en marche :
docker ps
Votre instance Kamal doit maintenant être accessible via votre domaine ou l’IP de votre VPS.
Configuration supplémentaire
Kamal supporte les intégrations, l’authentification des utilisateurs, et des thèmes personnalisables. Ceux-ci se configurent via des variables d’environnement ou des fichiers de configuration montés en volume.
Gestion des utilisateurs
Créez des utilisateurs via l’interface web ou l’API, selon votre cas d’usage. Assurez-vous toujours de sécuriser votre installation avec HTTPS et des identifiants forts.
Sécuriser votre déploiement
- Utilisez un reverse proxy (Nginx ou Caddy) pour gérer le SSL.
- Mettez à jour régulièrement vos images Docker (
docker-compose pull && docker-compose up -d). - Configurez des règles de pare-feu pour limiter les ports ouverts aux éléments essentiels.
FAQ
1. Qu’est-ce que Kamal et pourquoi devrais-je l’auto-héberger ?
Kamal est une plateforme de messagerie ouverte, décentralisée, conçue pour la confidentialité et la flexibilité. L’auto-héberger permet de garder le contrôle total sur vos données, personnaliser votre service, et réduire la dépendance aux services cloud propriétaires, en accord avec la communauté r/selfhosted et awesome-selfhosted. C’est idéal pour ceux qui recherchent un serveur de chat axé sur la confidentialité.
2. Puis-je installer Kamal sur n’importe quel fournisseur de VPS mentionné ici ?
Oui. Kamal peut fonctionner sur toute distribution Linux compatible avec Docker. Des fournisseurs comme Contabo, Hetzner, DigitalOcean, Vultr, et Linode proposent des architectures AMD64 ou ARM compatibles avec Docker. Choisissez un fournisseur avec des ressources suffisantes pour votre base d’utilisateurs. Veillez toujours à ce que votre serveur dispose d’au moins 1 Go de RAM pour assurer un fonctionnement fluide.
3. Comment faire pour que mon installation de Kamal reste sécurisée et à jour ?
Mettez à jour régulièrement vos images Docker avec :
docker-compose pull
docker-compose up -d
Utilisez un reverse proxy (comme Nginx ou Caddy) pour gérer le SSL et renforcer la sécurité. Configurez un pare-feu (ufw ou firewalld) pour limiter l’accès aux ports nécessaires. Maintenez votre système d’exploitation à jour avec les derniers correctifs de sécurité. Pensez aussi à activer l’authentification à deux facteurs (2FA) si Kamal ou son API le supportent.
Conseils finaux
- Sauvegardez régulièrement votre configuration et vos données Kamal.
- Utilisez des mots de passe forts et uniques pour tous les comptes utilisateur.
- Rejoignez des communautés comme r/selfhosted et awesome-selfhosted pour du support et des suggestions.
Avec ces étapes, vous disposerez d’un serveur de chat Kamal auto-hébergé entièrement fonctionnel sur votre VPS - garantissant confidentialité et autonomie pour votre plateforme de messagerie. Pour plus d’outils et d’options de déploiement, consultez notre page [comparaison complète des VPS]. --- END ---