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 :

  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