Files
wiki/Catalogue-Self-Hosted/apps/app-docmost.md
T
2026-06-09 18:40:21 +02:00

174 lines
6.6 KiB
Markdown

---
title: Docmost
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, wiki, documentation, collaboration, typescript, nestjs, postgresql, temps-reel, docker]
confidence: high
contested: false
sources: [https://selfh.st/apps/?tag=wiki]
---
# 🪶 Docmost
> Wiki et documentation collaborative modernes, basés sur NestJS et React. Édition temps réel, espaces multiples, permissions fines, recherche full-text performante. Pensé pour remplacer Confluence/Notion en open source.
| Métadonnée | Valeur |
| :--- | :--- |
| **Site web** | [docmost.com](https://docmost.com/) |
| **GitHub** | [docmost/docmost](https://github.com/docmost/docmost) |
| **License** | AGPL-3.0 |
| **Langage** | TypeScript / NestJS / React |
| **Étoiles** | ⭐ 1343 |
| **Dernière MAJ** | 2026-06-06 |
| **Catégorie** | [[cat-wiki]] |
## Description
Docmost est un **wiki et outil de documentation collaborative** open source apparu en 2023, qui a rapidement gagné en popularité grâce à une stack technique moderne et une UX soignée. Le backend est construit sur **NestJS** (TypeScript/Node.js) avec PostgreSQL, le frontend en **React** avec TipTap (éditeur WYSIWYG basé sur ProseMirror). L'expérience rivalise avec Notion ou Confluence, mais en auto-hébergeable.
Les fonctionnalités clés :
- **Édition temps réel multi-utilisateurs** (Y.js / TipTap collab) avec curseurs en direct.
- **Espaces** multiples (workspaces) avec permissions par page, groupes et ACL fines.
- **Recherche full-text** performante via PostgreSQL natif (tsvector) ou Elasticsearch.
- **Historique** de version par page, restauration à un point arbitraire.
- **Import** depuis Notion, Confluence, Markdown, DokuWiki.
- **API** REST documentée, webhooks, JWT.
- **SSO** : Google, GitHub, GitLab, Azure AD, OIDC.
- **Commentaires, mentions (@), emojis, attachements** fichiers/images.
Docmost est un concurrent direct et moderne de [[app-wiki-js]] (Node.js, plus mature) et de XWiki (Java, plus lourd). Pour de la documentation purement statique/publicée, [[app-docusaurus]] ou [[app-mkdocs]] sont plus adaptés.
## Installation
### Option recommandée : Docker Compose
L'image officielle `docmost/docmost:latest` (et `docmost/redis:7`) fournit une stack complète prête à l'emploi.
```yaml
# docker-compose.yml
services:
docmost:
image: docmost/docmost:latest
container_name: docmost
restart: unless-stopped
depends_on:
- db
- redis
environment:
APP_URL: "https://wiki.example.com"
APP_SECRET: "changez-moi-generez-un-secret-long"
DATABASE_URL: "postgresql://docmost:docmost@db:5432/docmost"
REDIS_URL: "redis://redis:6379"
# SMTP optionnel
SMTP_HOST: smtp.example.com
SMTP_PORT: 587
SMTP_USERNAME: no-reply@example.com
SMTP_PASSWORD: changez
SMTP_FROM: "Docmost <no-reply@example.com>"
volumes:
- docmost-data:/app/data
ports:
- "3000:3000"
db:
image: postgres:16-alpine
container_name: docmost-db
restart: unless-stopped
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: docmost
volumes:
- db-data:/var/lib/postgresql/data
redis:
image: redis:7-alpine
container_name: docmost-redis
restart: unless-stopped
volumes:
- redis-data:/data
volumes:
docmost-data:
db-data:
redis-data:
```
### Option 2 : Installation manuelle
```bash
git clone https://github.com/docmost/docmost.git
cd docmost
cp .env.example .env
# éditer APP_URL, APP_SECRET, DATABASE_URL, REDIS_URL
pnpm install
pnpm build
pnpm start
```
Prérequis : **Node.js 18+**, **pnpm**, PostgreSQL 14+, Redis 7+.
## Configuration
Toute la configuration se fait via variables d'environnement (`.env` ou section `environment` du Compose) :
- `APP_URL` : URL publique (utilisée pour les liens, webhooks, OIDC callback).
- `APP_SECRET` : secret JWT, **obligatoire**, 32+ caractères aléatoires.
- `DATABASE_URL` : standard libpq.
- `REDIS_URL` : pour les sessions, la collab temps réel, la queue.
- `SMTP_*` : alertes, invitations, notifications.
- `OIDC_*` / `GOOGLE_*` / `GITHUB_*` : SSO.
Le panneau d'admin (compte admin initial créé au premier démarrage) gère ensuite les espaces, permissions, groupes, et intégrations.
## Alternatives
### Open Source
- [[app-wiki-js]] — Wiki Node.js mature, WYSIWYG, Git backend.
- [[app-docusaurus]] — Pour publier en statique, pas pour éditer en équipe.
- [[app-mkdocs]] — Doc statique Python, pas de wiki.
- [[app-xwiki]] — Java, très riche mais lourd.
- **Outline** — UX excellente, mais ses sources sont en grande partie closed.
- **BookStack** — PHP, simple, ergonomique, axé documentation.
- **AppFlowy** — Notion-like open source, plus collaboratif/IA.
- **AFFiNE** — Notion + Miro + Linear, prometteur.
### Propriétaires (ce que Docmost remplace)
- **Confluence** — Le standard entreprise, Docmost est la meilleure alternative open source moderne.
- **Notion** — Notion-like open source, multi-utilisateurs, sans la dépendance au SaaS.
- **Coda** — Wiki + tables + automations.
- **Slab** — Knowledge base d'équipe.
- **Dropbox Paper** — Wiki simple mais cloud-only.
- **Microsoft Loop / SharePoint** — Pour un wiki moderne auto-hébergé.
## Sécurité
-**SSO** (OIDC, SAML via intégration) et 2FA à activer pour les admins.
-**Permissions fines** par espace et par page : penser à limiter l'accès invité et l'export en masse.
-**HTTPS obligatoire** derrière un reverse proxy (Caddy/Traefik/Nginx) avec LetsEncrypt.
- ⚠️ Surfaces d'attaque classiques NestJS : maintenir **Node.js et les dépendances à jour** (Renovate/Dependabot recommandé).
- ⚠️ `APP_SECRET` doit être long et stocké hors du dépôt (Docker secrets, Vault, etc.).
-**Backups** : sauvegarder régulièrement le volume `db-data` (PostgreSQL) et `docmost-data` (fichiers uploadés).
- ⚠️ Désactiver l'**inscription libre** en production (`ALLOW_SIGNUP=false` selon version), privilégier les invitations.
- ⚠️ Le **mode `debug`** ne doit jamais être activé en production.
## Ressources
- [Site officiel Docmost](https://docmost.com/)
- [Documentation Docmost](https://docmost.com/docs)
- [GitHub docmost/docmost](https://github.com/docmost/docmost)
- [Roadmap publique](https://github.com/docmost/docmost/discussions)
- [Communauté Discord](https://discord.gg/docmost)
## Pages Liées
- [[cat-wiki]] — Vue d'ensemble de la catégorie Wiki
- [[app-wiki-js]] — Wiki Node.js historique
- [[app-docusaurus]] — Pour publier en statique
- [[app-mkdocs]] — Doc statique Python
- [[recettes-docker-compose]] — Templates Docker partagés