← Tous les templates · Notes et wikis
Déployez Docmost en un clic
Un wiki et une documentation collaboratifs, avec des espaces, l’édition en temps réel et des diagrammes
Une alternative auto-hébergée à Notion et Confluence.
Qu’est-ce que Docmost ?
Docmost est un logiciel open source pour les wikis et la documentation. Les pages sont rangées dans des espaces, chacun avec ses membres et ses permissions, et plusieurs personnes peuvent modifier la même page en même temps. L’éditeur accepte les commandes slash, les tableaux, les fichiers joints et des contenus intégrés comme Airtable, Loom et Miro, et dessine des diagrammes avec Draw.io, Excalidraw et Mermaid. Chaque page garde son historique, que l’on peut restaurer, chacun commente ce qu’il lit, la recherche porte sur le texte intégral, et une page peut être partagée publiquement par lien.
Des équipes auto-hébergent Docmost comme base de connaissances ou wiki interne à la place de Confluence ou de Notion, avec des pages importées depuis Notion, Markdown ou HTML. Ce template fait tourner l’édition Community, gratuite, avec PostgreSQL et Redis, et crée l’espace de travail et son propriétaire à partir des champs avant que Docmost ne réponde à quiconque. Le revers : le SSO, l’authentification à deux facteurs, l’IA, les clés d’API, les permissions par page et l’import depuis Confluence font partie de l’édition Business, payante.
Hébergement de Docmost sur Pethost
- Vous vous connectez à Pethost avec une clé d’accès, GitHub ou Google. Pas encore de machine ? Vous choisissez une offre, et le lien attend qu’elle soit prête.
- Nouveau projet s’ouvre sur Docmost. Vous remplissez ce qu’il demande et cliquez sur Créer le projet : Nom d’utilisateur, E-mail, Mot de passe administrateur.
- En une minute ou deux, Docmost tourne à sa propre adresse en HTTPS. Ses secrets sont créés au hasard, et ses données sont dans la sauvegarde nocturne.
- C’est un projet comme les autres : vous ou votre agent pouvez le modifier, revenir à une version précédente ou le restaurer.
Questions sur Docmost
Docmost est-il gratuit ?
Oui. L’édition Community est open source sous licence AGPL-3.0 et gratuite à auto-héberger, avec la collaboration en temps réel, les espaces et la recherche en texte intégral. L’édition Business coûte 6 $ par utilisateur et par mois, en facturation annuelle pour 10 utilisateurs au moins, et ajoute le SSO, l’authentification à deux facteurs, l’IA, les clés d’API et les permissions par page.
Docmost, Confluence ou Notion ?
Docmost couvre le même terrain en tant que wiki : espaces, pages en arborescence, édition en temps réel, commentaires et historique des pages. Confluence et Notion tournent dans le cloud de leurs éditeurs, alors que Docmost tourne là où vous le déployez, et son édition Community est gratuite quel que soit le nombre d’utilisateurs.
Puis-je importer mes pages Notion dans Docmost ?
Oui. Docmost importe dans un espace un export Notion, ainsi que des fichiers Markdown et HTML. L’import depuis Confluence fait partie de l’édition Business, payante.
Plusieurs personnes peuvent-elles modifier une page Docmost en même temps ?
Oui. Son éditeur est collaboratif en temps réel : sur une page, chacun voit les modifications des autres à mesure qu’ils tapent, et l’historique de la page garde chaque version.
Comment inviter des personnes dans Docmost ?
Avec « Inviter des personnes », par e-mail et avec un rôle. Docmost n’a pas d’inscription publique : on le rejoint par son invitation, qu’il envoie par e-mail une fois que SMTP_HOST et les autres réglages SMTP_ sont dans le .env du projet. D’ici là, « Copier le lien » sur une invitation en attente, dans Paramètres → Membres, donne le lien à envoyer vous-même.
De combien de mémoire et de disque Docmost a-t-il besoin ?
Docmost est léger : environ 300 MB de mémoire avec Postgres et Redis, et les pages grossissent lentement ; les pièces jointes prennent la place de leurs fichiers. Sur Pethost, l’offre Starter lui suffit, avec de la place pour d’autres applications à côté.
Le fichier Docker Compose de Docmost
Le template, c’est ce compose.yaml et les variables écrites dans le .env du projet à sa création. Pethost exécute le fichier tel qu’il est écrit.
Conteneurs : docmost (docmost/docmost:0.97), postgres (postgres:18-alpine), redis (redis:8-alpine).
Volumes, dans la sauvegarde nocturne : data, db, redis.
services:
docmost:
image: docmost/docmost:0.97
restart: unless-stopped
# Docmost does not stop on SIGTERM as the first process: an init passes it on.
init: true
# Any setting of Docmost can be added to the project's .env, such as SMTP_HOST and the other
# SMTP_ settings, which send its invitations and password resets by email.
env_file: .env
environment:
APP_URL: ${URL}
APP_SECRET: ${APP_SECRET}
DATABASE_URL: postgresql://docmost:${POSTGRES_PASSWORD}@postgres:5432/docmost
REDIS_URL: redis://redis:6379
ADMIN_NAME: ${ADMIN_NAME}
ADMIN_EMAIL: ${ADMIN_EMAIL}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
# A new Docmost offers its setup, which makes the workspace and its owner, to whoever opens it
# first. So while it has no workspace, it runs on port 3001, which nobody reaches, and the
# owner is made there from the fields; only then does Docmost answer on 3000.
command:
- sh
- -c
- |
set -e
cd /app/apps/server
if ! node -e '
const sql = require("postgres")(process.env.DATABASE_URL, { max: 1 });
(async () => {
for (let i = 0; i < 60; i++) {
try {
const [row] = await sql`select count(*)::int as n from workspaces`;
process.exit(row.n > 0 ? 0 : 1);
} catch (error) {
// No such table: a new database, which the migrations of Docmost have yet to fill.
if (error.code === "42P01") process.exit(1);
await new Promise((done) => setTimeout(done, 1000));
}
}
process.exit(1);
})();
'; then
NODE_ENV=production PORT=3001 node dist/main &
setup=$$!
node -e '
const setUp = async () => {
const response = await fetch("http://127.0.0.1:3001/api/auth/setup", {
method: "POST",
headers: { "content-type": "application/json" },
body: JSON.stringify({
workspaceName: "Docmost",
name: process.env.ADMIN_NAME,
email: process.env.ADMIN_EMAIL,
password: process.env.ADMIN_PASSWORD
})
});
// 403: a workspace exists already, made by an earlier start.
if (response.ok || response.status === 403) return;
const body = await response.text();
if (response.status === 400) {
console.error("Docmost refused the administrator: " + body);
process.exit(1);
}
throw new Error("setup: " + response.status + " " + body);
};
(async () => {
let failure;
for (let i = 0; i < 180; i++) {
try {
return await setUp();
} catch (error) {
failure = error;
await new Promise((done) => setTimeout(done, 1000));
}
}
console.error(failure);
process.exit(1);
})();
'
kill $$setup
wait $$setup || true
fi
NODE_ENV=production exec node dist/main
volumes:
- data:/app/data/storage
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
postgres:
image: postgres:18-alpine
restart: unless-stopped
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- db:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U docmost -d docmost"]
interval: 5s
timeout: 5s
retries: 10
start_period: 30s
redis:
image: redis:8-alpine
restart: unless-stopped
command: ["redis-server", "--appendonly", "yes", "--maxmemory-policy", "noeviction"]
volumes:
- redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 10
volumes:
data:
db:
redis:
Aussi dans Notes et wikis
- MemosDe courtes notes en Markdown sur un fil privé
- HedgeDocDes notes Markdown que l’on écrit à plusieurs, en temps réel
- Obsidian LiveSyncUn serveur CouchDB qui synchronise vos coffres Obsidian avec Self-hosted LiveSync
- BookStackUn wiki organisé en étagères, livres, chapitres et pages
- EtherpadDes documents rédigés à plusieurs en temps réel : chaque auteur dans sa couleur, avec chat, historique et plugins
- MediaWikiLe logiciel de wiki de Wikipédia : des pages que tout le monde peut lire, modifiées dans l’éditeur visuel ou dans l’éditeur de wikicode
