Tutoriel
ForgeHook
Mis à jour le 8 octobre 2026
ForgeHook est un gestionnaire web self‑hosted qui permet de créer, prévisualiser et envoyer des messages Discord enrichis via webhooks ou bot. Le tutoriel décrit l'installation avec Docker, la configuration initiale et l'utilisation des principales fonctions. Vous pourrez ainsi créer des embeds, programmer des envois et gérer les comptes sécurisés.
Ce qu'il faut
- Docker >= 24
- Docker Compose >= 2.x
- Un serveur avec nginx (reverse proxy recommandé)
- Accès à un terminal avec les droits sudo
Installation
Docker / Docker‑Compose
- 1Cloner le dépôt : git clone https://github.com/Heiphaistos/ForgeHook.git
- 2Se placer dans le répertoire : cd ForgeHook
- 3Copier le fichier d’environnement : cp docker/.env.example docker/.env
- 4Éditer docker/.env et définir JWT_SECRET ainsi que le port souhaité
- 5Lancer les conteneurs : docker compose -f docker/docker-compose.yml up -d
- 6Vérifier le bon démarrage : docker compose -f docker/docker-compose.yml logs -f
Configuration nginx (reverse proxy)
- 1Créer un fichier de configuration pour le domaine souhaité
- 2Copier le bloc fourni dans le README et adapter server_name et le port
- 3Redémarrer nginx : sudo systemctl restart nginx
Premier lancement
- 1Ouvrir le navigateur à l’adresse du serveur (ex. https://forgehook.heiphaistos.org)
- 2Accéder à /setup pour créer le premier compte administrateur avec le jeton affiché dans les logs
- 3Configurer le 2FA avec une application d’authentification et noter les 10 codes de secours
- 4Se connecter avec le compte admin créé

Créer un embed avec l’éditeur visuel
L’outil propose un éditeur pixel‑perfect pour composer des messages enrichis.
- 1Cliquer sur « Embed Builder » dans le menu principal
- 2Remplir les champs titre, description, couleur, auteur, image, etc.
- 3Utiliser le panneau de prévisualisation à droite pour vérifier le rendu
- 4Enregistrer le modèle dans la bibliothèque de templates
Envoyer un message via webhook
- 1Dans la page d’un embed, cliquer sur « Envoyer via webhook »
- 2Coller l’URL du webhook Discord dans le champ prévu
- 3Vérifier le preview puis cliquer sur « Envoyer »
Programmer un envoi récurrent
- 1Ouvrir le planificateur de messages depuis le tableau de bord
- 2Sélectionner l’embed à envoyer et le webhook cible
- 3Saisir une expression cron (ex. 0 9 * * 1 pour chaque lundi à 9 h)
- 4Enregistrer la tâche ; elle apparaîtra dans la liste des planifications
Utiliser les variables de template
- 1Dans un embed, insérer des placeholders du type {{var}} où le texte doit être remplacé
- 2Envoi via le modal interactif qui demande la valeur de chaque variable
- 3Valider pour que le message soit généré avec les valeurs saisies
Gérer les comptes utilisateurs
- 1Depuis le tableau de bord admin, ouvrir la section Utilisateurs
- 2Créer un nouvel utilisateur en définissant un mot de passe provisoire
- 3L’utilisateur se connecte, active son 2FA et définit son mot de passe définitif
- 4En cas de perte du téléphone, utiliser un code de secours ou demander la réinitialisation du 2FA à un admin
Configurer le relais RSS → Discord
- 1Accéder à la page RSS dans le menu
- 2Ajouter l’URL du flux RSS à surveiller
- 3Choisir un template contenant les variables {{title}}, {{link}} et {{content}}
- 4Définir le webhook de destination et enregistrer
En images
Astuces
- Conservez le JWT_SECRET dans un gestionnaire de secrets et ne le partagez jamais.
- Utilisez des expressions cron simples au départ pour tester le planificateur avant de complexifier.
- Sauvegardez régulièrement le fichier SQLite (backend/data/database.sqlite) pour éviter toute perte de données.
Questions fréquentes
Comment récupérer le jeton de configuration affiché au premier démarrage ?
Exécutez : docker compose -f docker/docker-compose.yml logs forgehook-backend | grep jeton
Puis‑je héberger ForgeHook sans nginx ?
Oui, il suffit d’accéder directement au port configuré (ex. http://IP:3010) mais le reverse proxy est recommandé pour le HTTPS.
Comment mettre à jour l’application ?
Utilisez les commandes : docker compose -f docker/docker-compose.yml pull && docker compose -f docker/docker-compose.yml up -d --force-recreate
Tutoriel rédigé automatiquement à partir de la documentation du projet, mis à jour à chaque évolution.
