B
bertin.louis7
September 30, 2025
Déployer Campfire avec Kamal 2 - Alternative à Slack
Article
Français
Prérequis
Avant de commencer, assurez-vous d'avoir :
- Un serveur avec Docker installé
- Un compte Docker Hub (ou autre registry)
- Kamal 2 installé localement
- Un nom de domaine
- Git installé localement
1. Cloner le dépÎt Campfire
Cloner le dépÎt officiel de Campfire :
Avant de commencer, assurez-vous d'avoir :
- Un serveur avec Docker installé
- Un compte Docker Hub (ou autre registry)
- Kamal 2 installé localement
- Un nom de domaine
- Git installé localement
1. Cloner le dépÎt Campfire
Cloner le dépÎt officiel de Campfire :
git clone https://github.com/basecamp/once-campfire.git
Se déplacer dans le répertoire du projet :
cd once-campfire
Installer les dépendances Ruby :
bundle install
2. Initialisation de Kamal
Installer Kamal si ce n'est pas déjà fait :
gem install kamal
Initialiser la configuration dans votre projet Campfire :
kamal init
3. Configuration de base
Votre fichier config/deploy.yml devrait ressembler Ă ceci :
# Nom de votre application
service: campfire
# Nom de l'image Docker
image: votre-username/campfire
# Serveurs de déploiement
servers:
web:
- votre-ip-serveur
# Configuration du proxy avec SSL
proxy:
ssl: true
host: votre-domaine.com
# Registry Docker
registry:
username: votre-username
password:
- KAMAL_REGISTRY_PASSWORD
# Variables d'environnement
env:
clear:
SSL_DOMAIN: votre-domaine.com
secret:
- SECRET_KEY_BASE
- VAPID_PUBLIC_KEY
- VAPID_PRIVATE_KEY
# Volumes persistants
volumes:
- "campfire:/rails/storage"4. Configuration des secrets
Créez le fichier .kamal/secrets :
Générer une clé secrÚte :
rails secret
Les clés VAPID sont nécessaires pour les notifications push dans Campfire.
Générer les clés VAPID avec le script fourni
Le projet inclut un script pratique pour générer les clés VAPID :
# Rendre le script exécutable si nécessaire chmod +x script/admin/create-vapid-key # Exécuter le script ./script/admin/create-vapid-key
Le script affichera vos clés :
PRIVATE KEY : votre_cle_privee
PUBLIC KEY : votre_cle_publique
Notez bien ces deux clés, elles seront nécessaires pour la configuration.
Ajoutez vos secrets dans .kamal/secrets :
KAMAL_REGISTRY_PASSWORD="votre-token-docker-hub" SECRET_KEY_BASE="votre-secret-key-base" VAPID_PUBLIC_KEY="votre-cle-public-vapid" VAPID_PRIVATE_KEY="votre-cle-prive-vapid"
5. Préparation du serveur
Bootstrap du serveur (installe Docker et configure l'accĂšs) :
kamal setup
6. Autres déploiements
Construire l'image et déployer :
kamal deploy
Variables d'environnement essentielles
- SECRET_KEY_BASE : Clé secrÚte Rails
- VAPID_PUBLIC_KEY / VAPID_PRIVATE_KEY : Pour les notifications push
- SSL_DOMAIN : Domaine pour le SSL
Volumes persistants
Le volume campfire:/rails/storage assure la persistance des :
- Fichiers uploadés
- Base de données SQLite
- Logs
Dépannage
- Erreur de connexion : Vérifiez le firewall du serveur (ports 80/443)
- ProblÚmes de mémoire : Augmentez les ressources du serveur si nécessaire
- SSL non valide : Vérifiez la configuration DNS et le domaine
Ce guide vous permet de déployer Campfire rapidement avec Kamal 2 en profitant du zero-downtime deployment et de la gestion simplifiée du SSL.
B
bertin.louis7
Auteur de cet article