Pourquoi auto-héberger Wiki.js sur un VPS
Wiki.js se distingue par sa capacité à traiter chaque page comme un fichier Markdown synchronisé avec Git : votre documentation devient un dépôt versionné, où chaque modification est traçable et réversible. Cette logique de stockage en clair vous protège du verrouillage propriétaire, à condition de maîtriser l'infrastructure. Sur un VPS, vous branchez Wiki.js sur votre propre dépôt GitHub ou GitLab, vous choisissez votre moteur de stockage (PostgreSQL recommandé), et vous activez les modules de votre choix : authentification LDAP, commentaires, recherche avancée. Contrairement à un SaaS, rien ne limite le nombre de pages, d'éditeurs ou d'espaces, et vous pouvez héberger plusieurs wikis sur le même serveur grâce au reverse proxy.
Les bénéfices d'un Wiki.js auto-hébergé
- Versioning Git natif : chaque page est un fichier Markdown synchronisé avec votre dépôt.
- Éditeur visuel et Markdown au choix, avec aperçu en temps réel et coloration syntaxique.
- Modules d'authentification multiples : local, LDAP, OAuth2, SAML, le tout configurable côté admin.
- Recherche intégrée avec plusieurs moteurs (base de données, Elasticsearch) selon votre charge.
- Gestion fine des droits par dossier et par groupe, idéale pour cloisonner la documentation interne.
- Hébergement multi-wiki sur un seul VPS via des sous-domaines et un reverse proxy unique.
Prérequis matériels et logiciels
Wiki.js est sobre : 1 vCPU et 2 Go de RAM suffisent pour un wiki d'équipe en lecture intensive, le moteur Node.js restant économe. Prévoyez 2 Go de RAM supplémentaires si vous activez Elasticsearch pour la recherche full-text à grande échelle. Le disque dépend surtout des pièces jointes ; 10 à 20 Go constituent une base saine. Côté logiciel : Docker et docker compose v2, un domaine ou sous-domaine pointé vers le VPS (docs.votreentreprise.ma), et un PostgreSQL 12+ dédié. Si vous voulez la synchronisation Git, préparez une clé SSH de déploiement avec accès en écriture à votre dépôt avant le premier lancement.
Déployer Wiki.js étape par étape
Provisionner le VPS et Docker
Après mise à jour du système, installez Docker et le plugin compose. Créez /opt/wikijs et un fichier docker-compose.yml. Wiki.js a besoin d'une base : on déclarera PostgreSQL dans la même stack.
Déclarer PostgreSQL et Wiki.js
Définissez un service db avec l'image postgres:15, un volume persistant et les variables POSTGRES_DB=wiki, POSTGRES_USER, POSTGRES_PASSWORD. Ajoutez le service wiki avec l'image ghcr.io/requarks/wiki:2 et liez-le à la base via DB_TYPE=postgres et DB_HOST=db.
Lancer et accéder à l'assistant d'installation
Démarrez avec docker compose up -d. Wiki.js applique automatiquement ses migrations au premier boot. Ouvrez le port 3000 en interne et accédez à l'assistant qui vous demande l'e-mail et le mot de passe de l'administrateur.
Configurer le reverse proxy et le SSL
Placez Caddy ou Nginx devant Wiki.js. Avec Nginx, créez un vhost pour docs.votreentreprise.ma qui proxifie vers localhost:3000 et utilisez certbot pour obtenir le certificat Let's Encrypt. Renseignez ensuite l'URL canonique dans l'administration Wiki.js.
Brancher la synchronisation Git
Dans Administration > Stockage, activez le module Git, collez l'URL SSH de votre dépôt et la clé de déploiement. Choisissez le mode bidirectionnel pour que chaque édition pousse un commit, garantissant un historique versionné de toute la documentation.
Activez le stockage Git en mode bidirectionnel mais configurez un compte machine dédié avec son propre nom de committer. Vous obtenez un historique propre où chaque page modifiée dans l'interface génère un commit attribué au wiki, ce qui facilite les audits de documentation et permet de restaurer une version antérieure d'un simple git revert.
La documentation officielle
Pour la configuration avancée et les options propres à l'outil, référez-vous à la documentation officielle de Wiki.js. Ce guide couvre la mise en ligne sur VPS ; la doc éditeur reste la référence pour les réglages fins, les mises à jour majeures et les cas d'usage spécifiques.