Docmost est un wiki collaboratif open source (AGPL-3.0) : espaces, permissions, édition en temps réel, diagrammes intégrés. C'est notre choix pour la documentation d'équipe dans le comparatif des alternatives open source à Notion. Voici comment l'installer proprement sur votre propre serveur.

Préparer le serveur#

Connectez-vous en SSH, mettez le système à jour et créez un dossier dédié :

bash
ssh root@votre-ip
apt update && apt upgrade -y
mkdir -p /opt/docmost && cd /opt/docmost

Vérifiez que Docker et le plugin Compose répondent :

bash
docker --version
docker compose version

Si l'une des commandes échoue, installez Docker avec le script officiel (curl -fsSL https://get.docker.com | sh), puis relancez la vérification.

Écrire le fichier Docker Compose#

Générez d'abord un secret d'application long et aléatoire :

bash
openssl rand -hex 32

Créez ensuite /opt/docmost/docker-compose.yml. Remplacez le domaine, le secret et le mot de passe de la base :

yaml
services:
  docmost:
    image: docmost/docmost:latest
    depends_on:
      - db
      - redis
    environment:
      APP_URL: "https://wiki.example.com"
      APP_SECRET: "collez-ici-le-secret-genere"
      DATABASE_URL: "postgresql://docmost:MOT_DE_PASSE@db:5432/docmost?schema=public"
      REDIS_URL: "redis://redis:6379"
    ports:
      - "127.0.0.1:3000:3000"
    restart: unless-stopped
    volumes:
      - docmost:/app/data/storage

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: docmost
      POSTGRES_USER: docmost
      POSTGRES_PASSWORD: MOT_DE_PASSE
    restart: unless-stopped
    volumes:
      - db_data:/var/lib/postgresql/data

  redis:
    image: redis:7.2-alpine
    restart: unless-stopped
    volumes:
      - redis_data:/data

volumes:
  docmost:
  db_data:
  redis_data:

Lancez les trois services :

bash
docker compose up -d
docker compose ps

Les trois conteneurs doivent être à l'état running. En cas de doute, docker compose logs -f docmost affiche les erreurs de connexion à la base.

Ajouter le HTTPS avec Caddy#

Caddy obtient et renouvelle les certificats Let's Encrypt tout seul. Installez-le depuis son dépôt officiel :

bash
apt install -y debian-keyring debian-archive-keyring apt-transport-https curl
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | tee /etc/apt/sources.list.d/caddy-stable.list
apt update && apt install -y caddy

Remplacez le contenu de /etc/caddy/Caddyfile par :

text
wiki.example.com {
	reverse_proxy 127.0.0.1:3000
}

Puis rechargez Caddy :

bash
systemctl reload caddy

Ouvrez https://wiki.example.com : l'écran de création de l'espace de travail s'affiche. Le premier compte créé devient administrateur.

Sauvegarder la base chaque nuit#

Un wiki sans sauvegarde est un wiki en sursis. Créez le script /opt/docmost/backup.sh :

bash
#!/usr/bin/env bash
set -euo pipefail
cd /opt/docmost
mkdir -p backups
docker compose exec -T db pg_dump -U docmost docmost | gzip > "backups/docmost-$(date +%F).sql.gz"
find backups -name '*.sql.gz' -mtime +14 -delete

Rendez-le exécutable et planifiez-le à 3 h du matin :

bash
chmod +x /opt/docmost/backup.sh
(crontab -l 2>/dev/null; echo "0 3 * * * /opt/docmost/backup.sh") | crontab -

Les fichiers joints aux pages sont dans le volume docmost. Copiez régulièrement les sauvegardes hors du serveur (stockage objet, autre machine) : une sauvegarde sur le même disque ne protège pas d'une panne.

Mettre à jour Docmost#

bash
cd /opt/docmost
./backup.sh
docker compose pull
docker compose up -d

Lisez les notes de version avant une mise à jour majeure : les migrations de base s'exécutent automatiquement au démarrage.

Questions fréquentes

Combien coûte l'auto-hébergement de Docmost ?

Le logiciel est gratuit. Comptez le prix d'un VPS de 2 Go de RAM, généralement entre 5 et 8 € par mois, plus le nom de domaine.

Peut-on installer Docmost sur un hébergement mutualisé ?

Non. Docmost a besoin de Docker, de PostgreSQL et de Redis, que les offres mutualisées ne permettent pas de faire tourner. Il faut un VPS ou un serveur dédié.

Comment importer des pages Notion dans Docmost ?

Exportez votre espace Notion en Markdown, puis utilisez l'import de Docmost depuis les paramètres de l'espace. Les pages et la hiérarchie sont conservées.

Comment restaurer une sauvegarde ?

Décompressez le fichier puis envoyez-le au conteneur de base : gunzip -c backups/docmost-AAAA-MM-JJ.sql.gz | docker compose exec -T db psql -U docmost docmost, sur une base vide.