Tutoriel

Huly : remplacer Linear, Notion et Slack sur votre VPS

Automatisation7 min de lecture8 étapes

Gérer une équipe technique implique souvent trois ou quatre abonnements SaaS distincts : un tracker d'issues, un wiki, un outil de chat, un gestionnaire de sprints. Huly réunit tout cela dans une seule application sous licence EPL-2.0, que vous hébergez vous-même sur votre VPS ServOrbit. Résultat : un seul serveur, zéro frais de siège, et vos données restent dans votre infrastructure.

Sommaire· Pourquoi centraliser issues, docs et chat dans un seul outil1/10
  1. 01Pourquoi centraliser issues, docs et chat dans un seul outil
  2. 02Ce que Huly consolide dans votre infrastructure
  3. 03Prérequis chiffrés : ce que Huly consomme réellement
  4. 04Déployer Huly sur VPS en cinq étapes
  5. 05Configuration post-installation : backup, alertes et mises à jour
  6. 06Mettre en place le backup, les alertes et les mises à jour
  7. 07Dépannage : quatre erreurs fréquentes et leurs solutions
  8. 08Erreurs fréquentes et remèdes
  9. 09Pour quelle équipe Huly fait-il sens ?
  10. 10Huly vs Linear + Notion + Slack : ce que vous gagnez et ce que vous assumez

Pourquoi centraliser issues, docs et chat dans un seul outil

Un abonnement Linear, un Notion, un Slack et un GitHub Projects représentent facilement 40 à 80 € par développeur et par mois. Au-delà du coût, chaque outil crée un silo : une décision prise en chat n'est pas liée à l'issue qui en découle, et le wiki vit dans un espace séparé du kanban. Huly est publié sous la licence EPL-2.0, très permissive pour le self-hosting, ce qui autorise un déploiement commercial sans redevance de siège.

Ce que Huly consolide dans votre infrastructure

  • Issues et sprints — créez des tickets, organisez-les en sprints et en roadmaps avec des tableaux Kanban intégrés, sans quitter l'application.
  • Wiki et documentation — rédigez des pages structurées directement dans Huly ; les docs sont versionnées et liées aux projets concernés.
  • Chat temps réel — messagerie par canaux et par threads, avec appels vidéo intégrés, pour remplacer Slack sans abonnement supplémentaire.
  • Synchronisation GitHub bidirectionnelle — les issues Huly sont mirrées dans GitHub et vice-versa ; les pull requests GitHub apparaissent automatiquement dans les issues liées.
  • Time tracking — enregistrez le temps passé sur chaque issue directement depuis l'interface, sans extension tierce.

Prérequis chiffrés : ce que Huly consomme réellement

Huly est une application gourmande en ressources. Le dépôt officiel huly-selfhost indique un minimum absolu de 2 vCPU et 8 Go de RAM — en dessous, les services peuvent cesser de répondre ou échouer au démarrage. En production avec une équipe active, 4 vCPU et 16 Go de RAM sont recommandés. Côté disque, comptez au minimum 20 Go pour les volumes Docker : Elasticsearch seul peut occuper 4 à 6 Go après quelques semaines d'indexation, et le stockage de fichiers (MinIO) croît avec les pièces jointes. La pile comprend plusieurs services principaux — front, account, transactor, workspace, collaborator, elasticsearch, cockroachdb, redpanda et minio — qui s'exécutent simultanément en conteneurs Docker. Un VPS Power ServOrbit (4 vCPU, 8 Go RAM) convient pour un démarrage jusqu'à quinze personnes ; passez au VPS Pro (8 Go+) pour une équipe de trente personnes ou plus.

Déployer Huly sur VPS en cinq étapes

  1. Cloner le dépôt officiel

    Récupérez la configuration Docker Compose depuis le dépôt public : git clone https://github.com/hcengineering/huly-selfhost.git && cd huly-selfhost. Le dépôt contient le fichier compose.yml et le script setup.sh qui génère automatiquement la configuration nginx et le fichier .env.

  2. Exécuter le script de configuration

    Lancez ./setup.sh et renseignez l'adresse de votre sous-domaine (ex. huly.exemple.com). Le script génère un fichier huly_v7.conf contenant la version (HULY_VERSION), les secrets JWT, les identifiants MinIO et les chemins de volumes. Activez ensuite la configuration nginx avec sudo ln -s $(pwd)/nginx.conf /etc/nginx/sites-enabled/huly.conf && sudo nginx -s reload.

  3. Lancer les services avec Docker Compose

    Démarrez l'ensemble de la pile avec docker compose up -d. Au premier démarrage, Elasticsearch et CockroachDB initialisent leurs données ; comptez deux à trois minutes avant que l'interface soit accessible. Vérifiez l'état des conteneurs avec docker compose ps — tous doivent afficher le statut running.

  4. Configurer le reverse proxy HTTPS

    Le script setup.sh génère déjà la configuration nginx avec TLS. Si vous utilisez Caddy ou Traefik, pointez le reverse proxy vers le port interne du service front (par défaut 8083). Assurez-vous que les WebSockets sont bien transmis via les en-têtes Upgrade et Connection — sans eux, la messagerie temps réel et les appels vidéo ne fonctionneront pas.

  5. Créer le premier espace de travail et inviter l'équipe

    Ouvrez votre sous-domaine dans un navigateur, créez un compte administrateur, puis générez votre premier espace de travail. Depuis les réglages de l'espace, envoyez des invitations par e-mail à vos collaborateurs. Aucun siège payant n'est comptabilisé : vous ne payez que le stockage et la bande passante consommés sur votre VPS.

Pour activer la synchronisation GitHub, rendez-vous dans Réglages → Intégrations de votre espace de travail Huly. Connectez votre organisation GitHub en quelques clics via OAuth. Les issues créées dans Huly apparaissent alors automatiquement dans le dépôt correspondant, et les pull requests GitHub sont liées aux issues concernées — sans webhook à configurer manuellement.

Configuration post-installation : backup, alertes et mises à jour

Une fois Huly en service, trois tâches de maintenance méritent d'être mises en place sans attendre.

Mettre en place le backup, les alertes et les mises à jour

  1. Automatiser les sauvegardes

    Le dépôt fournit deux scripts prêts à l'emploi : backup-create.sh et backup-restore.sh. Exécutez ./backup-create.sh depuis le dossier huly-selfhost pour créer une archive des volumes (CockroachDB, Elasticsearch, MinIO). Planifiez ce script via cron — par exemple 0 3 * * * /opt/huly-selfhost/backup-create.sh >> /var/log/huly-backup.log 2>&1 pour un backup quotidien à 3h. Stockez les archives hors du VPS (S3, bucket Hetzner ou disque distant). En cas de migration majeure (ex. v0.6.x → v0.7.x), consultez MIGRATION.md avant toute restauration.

  2. Surveiller la santé des conteneurs

    Configurez une alerte simple avec docker compose ps dans un cron toutes les cinq minutes, ou déployez un outil léger comme Uptime Kuma (lui-même disponible en self-hosted sur le même VPS). Surveillez en priorité les services account, transactor et elasticsearch — ce sont eux qui causent les pannes visibles les plus fréquentes. Les logs de chaque service sont accessibles via docker compose logs -f <nom-du-service>.

  3. Mettre à jour vers une nouvelle version

    Avant chaque mise à jour, lisez MIGRATION.md pour la version cible. Si la section indique « No changes required », la procédure est simple : éditez HULY_VERSION dans huly_v7.conf avec le nouveau tag (ex. v0.7.426), puis exécutez git pull && docker compose pull && docker compose up -d. Pour une montée majeure (0.6.x → 0.7.x), suivez impérativement les étapes de migration documentées, notamment autour de la section v0.7.204 — une migration directe verrouille les données MongoDB de façon difficile à corriger.

Dépannage : quatre erreurs fréquentes et leurs solutions

Les problèmes les plus courants lors du déploiement de Huly proviennent tous de la même source : un service qui n'a pas fini de s'initialiser, ou une configuration réseau incomplète.

Erreurs fréquentes et remèdes

  • L'inscription échoue silencieusement à la création du compte. Cause probable : le service account n'est pas joignable ou mal configuré. Vérifiez ses logs avec docker compose logs -f account — une erreur de callback URL ou un problème de connexion à CockroachDB apparaîtra clairement. Assurez-vous que HULY_HOST dans votre configuration correspond exactement au sous-domaine publié.
  • Elasticsearch ne démarre pas (exit code 137 ou OOMKilled). Cause : mémoire insuffisante. Elasticsearch requiert au moins 4 Go de RAM pour lui seul au démarrage. Si votre VPS est en limite, ajoutez ES_JAVA_OPTS=-Xms1g -Xmx1g dans la section environment du service elasticsearch dans compose.yml pour limiter son heap Java à 1 Go — au détriment des performances de recherche.
  • MinIO inaccessible — les pièces jointes ne se chargent pas. Cause : les permissions des volumes ou un problème de résolution DNS interne entre conteneurs. Vérifiez que le service minio est bien en état running avec docker compose ps. Si les fichiers uploadés disparaissent après un redémarrage, vérifiez que le chemin de volume dans huly_v7.conf est un chemin absolu valide sur l'hôte, et que les permissions sont correctes (chown -R 1000:1000 /var/huly/files).
  • Les WebSockets ne fonctionnent pas — messagerie et appels vidéo gelés. Cause : le reverse proxy ne transmet pas les en-têtes Upgrade: websocket et Connection: Upgrade. Dans nginx, ajoutez explicitement proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; dans le bloc location. Avec Caddy, la directive reverse_proxy gère les WebSockets automatiquement si la version est récente.

Pour quelle équipe Huly fait-il sens ?

Huly convient particulièrement aux agences et équipes techniques de 5 à 50 personnes qui souhaitent réduire leur empreinte SaaS sans perdre en fonctionnalités. Il est aussi adapté aux équipes manipulant des données sensibles pour qui héberger les échanges et la documentation en interne est une contrainte réglementaire ou contractuelle. Enfin, si la multiplication des abonnements par siège devient un frein à la croissance, un seul serveur VPS suffit à couvrir l'ensemble de l'outillage collaboratif.

Huly vs Linear + Notion + Slack : ce que vous gagnez et ce que vous assumez

Faites défiler le tableau

Coût mensuel (équipe 10 pers.)~600 € (abonnements cumulés)~30 € (VPS ServOrbit)
Données hébergéesChez les éditeurs SaaSSur votre infrastructure
Maintenance serveurAucuneMises à jour + backup à gérer
PersonnalisationLimitée aux plans tarifairesTotale (open source EPL-2.0)
Ressources requisesNavigateur seulVPS 2 vCPU / 8 Go RAM minimum

Pour aller plus loin dans l'automatisation de vos workflows, Huly peut être couplé à un pipeline CI/CD self-hosted. Consultez notre guide sur Woodpecker CI et Forgejo pour mettre en place un pipeline complet sur le même VPS.

Lancez Huly sur un VPS ServOrbit

ServOrbit propose des VPS de 4 GB à 16 GB de RAM : à partir du VPS Power, ils accueillent une pile Docker Compose comme Huly. Déployez en quelques minutes et gardez le contrôle total de vos données d'équipe.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet