Pourquoi Outline plutôt que Notion ou Confluence sur un VPS
Notion et Confluence partagent le même défaut structurel : leur tarification est indexée sur le nombre d'utilisateurs, et elle monte dès que l'équipe grandit. Chez Notion, l'IA est réservée aux plans Business et Enterprise depuis l'annonce du 13 mai 2025 : son prix est inclus dans chaque siège, qu'elle serve ou non. Le plan Business est affiché à 19,50 € par membre et par mois en facturation annuelle sur notion.com/pricing (prix servi à un visiteur de la zone euro) — 390 € par mois pour vingt personnes, avant les crédits Notion facturés en supplément pour faire tourner les agents personnalisés. Pour un wiki dont vous ne contrôlez ni les données, ni la roadmap, ni la date de la prochaine acquisition.
Outline casse cette logique. Hébergé sur votre propre VPS, le coût est fixe : vous payez le serveur, pas chaque collaborateur supplémentaire. Le rendu est soigné — typographie propre, blocs de code avec coloration syntaxique, images intégrées, tables — et l'édition simultanée passe par WebSockets. La recherche plein texte est indexée directement dans PostgreSQL : aucun service externe, aucun coût supplémentaire. Pour une équipe technique de 10 à 50 personnes, c'est l'un des wikis self-hosted les plus aboutis.
L'argument du rachat d'Airtable n'est pas anecdotique. Bending Spoons s'est fait une spécialité d'acquérir des outils SaaS populaires — Evernote, Meetup, WeTransfer — puis d'en remodeler l'économie. Elle annonce vouloir investir dans Airtable, mais quand votre documentation d'entreprise repose sur un SaaS tiers, un changement de propriétaire peut signifier hausse tarifaire, fonctions gratuites réduites ou pivot vers un modèle incompatible avec votre usage. Héberger Outline sur votre propre infrastructure, c'est sortir de ce risque.
Ce qu'Outline apporte concrètement
- Rendu Markdown en temps réel — l'éditeur ressemble à Notion sans les blocs propriétaires
- Édition collaborative — plusieurs rédacteurs sur le même document via WebSockets et Redis
- Permissions par collection et par groupe — lecture seule, commentaire, édition, administration
- Recherche plein texte — indexée dans PostgreSQL, opérationnelle dès l'installation
- Pièces jointes et images — sur le disque du VPS par défaut, ou sur un stockage compatible S3 (MinIO, Backblaze B2, AWS S3)
- API documentée — intégrable dans vos pipelines CI/CD ou vos scripts ; elle sert aussi à automatiser les exports de contenu
- Import depuis Notion et Markdown — l'import Notion passe par une intégration à déclarer ; l'importeur Confluence, lui, est réservé aux éditions Business et Enterprise
Licence BSL 1.1 : Outline n'est pas open source
C'est le point que les comparatifs passent souvent sous silence. Outline est publié sous Business Source License 1.1 (BSL 1.1). Le fichier de licence du dépôt le dit lui-même : « not an Open Source license » — ce n'est pas une interprétation, c'est la formulation des auteurs.
Concrètement, la licence accorde l'usage du logiciel à une condition : ne pas l'exploiter comme « Document Service », c'est-à-dire ne pas proposer Outline comme service documentaire à des tiers. La page officielle des restrictions est sans ambiguïté : vendre, revendre ou héberger Outline en tant que service est une violation, et la violation met fin à la licence automatiquement. Un éditeur qui voudrait offrir un wiki Outline facturé à ses clients est donc hors licence ; une agence qui en hébergerait pour ses clients doit poser la question à l'éditeur avant de déployer.
Pour un usage interne d'équipe — base de connaissances, documentation produit, runbooks, onboarding — vous pouvez auto-héberger librement.
La date de bascule vers Apache 2.0 n'est pas unique : chaque version a la sienne, quatre ans après sa sortie. Le fichier LICENSE de la version 1.12.0, publiée le 23 octobre 2026, fixe ce passage au 2030-10-23. La version que vous déployez aujourd'hui ne deviendra donc pleinement permissive qu'en 2030, et chaque mise à jour repousse l'échéance pour le nouveau code.
Résumé pratique : usage interne, aucun problème. Revente ou service à des clients : lisez la licence et interrogez l'éditeur avant de déployer. Pour situer la BSL parmi les licences « source available », voir notre analyse BSL et SSPL.
Outline vs Notion vs Confluence vs Docmost
Faites défiler le tableau
| Outline | Notion | Confluence | Docmost | |
|---|---|---|---|---|
| Modèle de licence | BSL 1.1 (chaque version → Apache 2.0 après 4 ans) | Propriétaire SaaS | Propriétaire SaaS | AGPL-3.0 (cœur) + éditions payantes |
| Auto-hébergement | Oui — Docker + VPS | Non | Oui (Data Center, coûteux) | Oui — Docker + VPS |
| Tarification | Coût serveur fixe | Par membre/mois | Par utilisateur | Coût serveur fixe (édition libre) |
| Édition temps réel | Oui (WebSockets + Redis) | Oui | Oui | Oui (WebSockets + Redis) |
| Stack requise | PostgreSQL + Redis + stockage fichiers | N/A (SaaS) | PostgreSQL/Oracle + infra lourde | PostgreSQL + Redis |
| Recherche plein texte | PostgreSQL intégré | Oui (SaaS) | Oui | PostgreSQL intégré |
| Import Notion / Confluence | Notion oui ; Confluence en édition payante | Export seulement | Export seulement | Notion oui ; Confluence en édition payante |
| Connexion | SSO obligatoire (OIDC, Google, Slack, Microsoft, Discord) | Compte Notion | Compte Atlassian | E-mail et mot de passe ; SSO en édition payante |
Prérequis pour héberger Outline sur un VPS
Outline est composé de trois services qui doivent tourner ensemble.
PostgreSQL (version 14 ou plus) stocke tous les documents, les utilisateurs et les permissions : c'est lui qui porte l'état de votre wiki. Redis (version 4 ou plus) gère les sessions, les WebSockets de l'édition temps réel et les files de travaux en arrière-plan ; s'il tombe, l'édition simultanée s'arrête. Le stockage des fichiers reçoit pièces jointes et images : par défaut sur le disque du VPS (FILE_STORAGE=local, dossier /var/lib/outline/data), ou sur un bucket compatible S3 (FILE_STORAGE=s3) — un MinIO sur le même VPS, Backblaze B2 ou AWS S3. Sortir les fichiers vers S3 garde des sauvegardes PostgreSQL légères et laisse grossir le volume des pièces jointes sans toucher au serveur applicatif.
Dimensionnement : la documentation officielle exige au minimum 512 Mo de mémoire et conseille 1 Go ou plus quand les utilisateurs sont nombreux. Pour une équipe de 20 à 50 personnes avec PostgreSQL et Redis sur la même machine, visez 2 vCPU, 4 Go de RAM et 20 Go de SSD, davantage si les pièces jointes restent en local. Un VPS Power (4 vCPU, 8 GB) laisse de la marge pour les pics d'édition simultanée. Le nombre de processus se règle avec WEB_CONCURRENCY : comptez un processus par tranche de 512 Mo de mémoire disponible.
L'authentification est le prérequis qu'on découvre trop tard. Outline n'a pas de connexion par e-mail et mot de passe : il faut au moins un fournisseur configuré — Slack, Google, Microsoft Entra, Discord ou un serveur OIDC générique (Authentik, Keycloak…) — sans quoi l'installation n'offre aucune option de connexion. SAML est réservé aux éditions Business et Enterprise. Prévoyez aussi un serveur SMTP : il envoie les notifications (« document mis à jour ») et rend possible la connexion par lien e-mail.
Côté hôte : Docker et Docker Compose v2, un reverse proxy (Nginx ou Caddy), un certificat TLS valide et un nom de domaine dédié (wiki.votre-domaine.com) : la variable URL doit correspondre exactement à l'adresse publique.
Déployer Outline avec Docker Compose
Créer le fichier `docker-compose.yml`
Créez un répertoire dédié :
mkdir -p /opt/outline && cd /opt/outlinePuis le fichier de composition. Fixez une version précise plutôt que
latest, et ne publiez le port 3000 que sur la boucle locale :services: outline: image: docker.getoutline.com/outlinewiki/outline:1.12.0 env_file: .env ports: - "127.0.0.1:3000:3000" volumes: - outline_data:/var/lib/outline/data depends_on: - postgres - redis postgres: image: postgres:18 environment: POSTGRES_USER: outline POSTGRES_PASSWORD: motdepasse POSTGRES_DB: outline volumes: - postgres_data:/var/lib/postgresql redis: image: redis:7 volumes: - redis_data:/data volumes: outline_data: postgres_data: redis_data:L'image Postgres crée l'utilisateur et la base au premier démarrage à partir de
POSTGRES_USER,POSTGRES_PASSWORDetPOSTGRES_DB: sans mot de passe, le conteneur refuse de démarrer.Configurer le fichier `.env`
Générez la clé secrète et la clé d'utilitaire :
openssl rand -hex 32 # SECRET_KEY openssl rand -hex 32 # UTILS_SECRETVariables essentielles du
.env(exemple avec un fournisseur OIDC) :URL=https://wiki.votre-domaine.com PORT=3000 SECRET_KEY=<clé générée> UTILS_SECRET=<clé générée> DATABASE_URL=postgres://outline:motdepasse@postgres:5432/outline PGSSLMODE=disable REDIS_URL=redis://redis:6379 FORCE_HTTPS=true WEB_CONCURRENCY=2 FILE_STORAGE=local FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data OIDC_CLIENT_ID=<client-id> OIDC_CLIENT_SECRET=<client-secret> OIDC_AUTH_URI=https://auth.votre-domaine.com/application/o/authorize/ OIDC_TOKEN_URI=https://auth.votre-domaine.com/application/o/token/ OIDC_USERINFO_URI=https://auth.votre-domaine.com/application/o/userinfo/ SMTP_SERVICE=<service> SMTP_USERNAME=<user> SMTP_PASSWORD=<password> [email protected]PGSSLMODE=disableest nécessaire quand PostgreSQL tourne sur la même machine sans TLS : sans lui, Outline tente une connexion chiffrée et échoue. Pour Google, Slack, Microsoft ou Discord, remplacez le bloc OIDC par les variables du fournisseur (GOOGLE_CLIENT_ID,SLACK_CLIENT_ID…) déclarées dans le fichier d'exemple officiel. Sauvegardez ce fichier hors du serveur : perdreSECRET_KEYrend illisibles les données chiffrées en base.Lancer la pile
docker compose up -d docker compose logs -f outline docker compose psLes migrations de base de données s'exécutent automatiquement au démarrage du conteneur Outline : suivez les journaux jusqu'au message d'écoute sur le port 3000, puis vérifiez que les trois services sont
running.Configurer le reverse proxy
Outline écoute sur le port 3000 en local. Exemple de bloc Nginx :
server { listen 443 ssl; server_name wiki.votre-domaine.com; ssl_certificate /etc/letsencrypt/live/wiki.votre-domaine.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/wiki.votre-domaine.com/privkey.pem; client_max_body_size 260m; location / { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_cache_bypass $http_upgrade; } }Les en-têtes
UpgradeetConnectionsont indispensables aux WebSockets de l'édition temps réel ;client_max_body_sizedoit couvrir la taille d'upload autorisée par Outline (FILE_STORAGE_UPLOAD_MAX_SIZE). Avec Caddy, deux lignes suffisent et le certificat Let's Encrypt est obtenu et renouvelé automatiquement :wiki.votre-domaine.com { reverse_proxy 127.0.0.1:3000 }Créer le premier compte administrateur
Ouvrez
https://wiki.votre-domaine.comet connectez-vous via le fournisseur d'identité configuré : le premier compte authentifié devient administrateur de l'espace de travail.Pour inviter des collègues, rendez-vous dans Réglages → Membres → Inviter. Les invitations et les notifications partent par le SMTP déclaré dans le
.env.Programmer les sauvegardes
Ce qu'il faut sauvegarder : la base PostgreSQL, le volume des fichiers si
FILE_STORAGE=local, et le.env. Exemple à placer dans une tâche cron quotidienne :cd /opt/outline docker compose exec -T postgres pg_dump -U outline outline | gzip > outline-$(date +%F).sql.gz docker run --rm -v outline_outline_data:/data -v "$PWD":/backup alpine \ tar czf /backup/outline-files-$(date +%F).tar.gz -C /data .La documentation d'Outline recommande au moins une sauvegarde par jour, conservée environ un mois. En complément, Réglages → Export produit une archive HTML, Markdown ou JSON lisible sans Outline.
Mettre à jour Outline sans mauvaise surprise
Outline publie des images Docker taguées : évitez latest en production et ciblez une version précise (outlinewiki/outline:1.12.0 au 7 novembre 2026), après avoir lu les notes de version sur la page des releases.
Les migrations s'appliquent automatiquement au redémarrage du conteneur, et la documentation prévient qu'elles ne sont pas toujours rétrocompatibles : revenir à l'image précédente ne suffit pas toujours. Une sauvegarde de la base avant chaque mise à jour est donc obligatoire, pas facultative.
cd /opt/outline
docker compose exec -T postgres pg_dump -U outline outline | gzip > avant-maj.sql.gz
# changer le tag de l'image dans docker-compose.yml, puis :
docker compose pull outline
docker compose up -d outline
docker compose logs -f outlineSur un wiki volumineux, testez d'abord la nouvelle version sur une copie de la base restaurée dans un environnement de recette.
Quand choisir Docmost plutôt qu'Outline
Outline est le bon choix si vous voulez un rendu Markdown soigné comparable à Notion, une édition simultanée robuste et un branchement sur un fournisseur d'identité existant (OIDC, Google, Microsoft). Son rythme de publication soutenu — 1.11.0 et 1.12.0 en octobre 2026 — et sa communauté active sont des arguments solides pour une équipe qui mise sur la durée. Commentaires, historique des révisions, intégrations Slack, GitHub et Linear en font l'un des outils les plus complets du segment self-hosted.
Docmost est une alternative plus récente (2023), dont le cœur est publié sous AGPL-3.0 — une vraie licence open source au sens OSI, sans restriction sur l'usage en tant que service. Les fonctions avancées (SSO SAML/OIDC/LDAP, clés d'API, importeur Confluence, bases de données) relèvent en revanche d'éditions payantes sous licence distincte. Sa stack est comparable : PostgreSQL et Redis, mais aucun fournisseur d'identité n'est imposé, puisque l'édition libre accepte la connexion par e-mail et mot de passe. Si la qualification de licence est un critère bloquant — notamment si vous développez un produit qui embarquerait une base de connaissances accessible à vos utilisateurs finaux —, Docmost mérite d'être évalué en parallèle. Cet article se concentre sur Outline ; pour l'installation pas à pas, consultez notre guide dédié à Docmost, et pour une migration depuis Notion, notre analyse de la hausse tarifaire Notion.
Les deux coexistent sans se cannibaliser : Outline a plus de fonctions avancées dans son édition gratuite et une communauté plus établie, Docmost une licence plus permissive et une connexion sans SSO obligatoire. Le choix dépend de votre contexte juridique et de vos besoins techniques.