Initial vault setup
This commit is contained in:
@@ -0,0 +1,173 @@
|
||||
---
|
||||
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
|
||||
Reference in New Issue
Block a user