À quoi ça sert ?
Docmost permet d'écrire à plusieurs, en temps réel, des pages bien mises en forme organisées en espaces : documentation, notes de réunion, base de connaissances. L'éditeur rappelle celui de Notion.
Pour qui ?
Les équipes et associations qui veulent un Notion hébergé chez elles.
Après l'installation
- Ouvrez l’adresse du site et créez votre espace de travail et le compte administrateur.
Le docker-compose
Exemple derrière Traefik, avec une explication sur chaque ligne. Pour l'adapter à votre cas (Nginx Proxy Manager, port local…), utilisez le générateur.
# docker-compose.yml : Docmost
# Ce fichier décrit les « conteneurs » à lancer : chaque conteneur est une petite
# boîte isolée qui contient un programme. Lancez-le avec : docker compose up -d
services:
# Conteneur principal : l'application Docmost
docmost:
# Le programme à télécharger (l'« image »), avec sa version
image: docmost/docmost:latest
container_name: docmost
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Démarre ces conteneurs avant celui-ci
depends_on:
- db
- redis
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
APP_URL: https://pages.mondomaine.fr
APP_SECRET: "${APP_SECRET}"
DATABASE_URL: "postgresql://docmost:${DB_PASSWORD}@db:5432/docmost"
REDIS_URL: redis://redis:6379
TZ: Europe/Paris
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./storage:/app/data/storage
# Réseau partagé avec le reverse proxy pour qu'il puisse joindre l'application
networks:
- traefik
- default
# Indique à Traefik de publier l'application sur https://pages.mondomaine.fr avec un certificat HTTPS
labels:
- traefik.enable=true
- traefik.http.routers.docmost.rule=Host(`pages.mondomaine.fr`)
- traefik.http.routers.docmost.entrypoints=websecure
- traefik.http.routers.docmost.tls.certresolver=letsencrypt
- traefik.http.services.docmost.loadbalancer.server.port=3000
- traefik.docker.network=traefik
# Conteneur annexe « db » (utilisé par l'application, pas accessible de l'extérieur)
db:
# Le programme à télécharger (l'« image »), avec sa version
image: postgres:18
container_name: docmost-db
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Réglages de l'application. Les valeurs ${...} viennent du fichier .env
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: "${DB_PASSWORD}"
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./db:/var/lib/postgresql
# Conteneur annexe « redis » (utilisé par l'application, pas accessible de l'extérieur)
redis:
# Le programme à télécharger (l'« image »), avec sa version
image: redis:8
container_name: docmost-redis
command: redis-server --appendonly yes --maxmemory-policy noeviction
# Redémarre tout seul après une panne ou un redémarrage du serveur
restart: unless-stopped
# Empêche un programme piraté de devenir administrateur
security_opt:
- no-new-privileges:true
# Dossiers du serveur partagés avec le conteneur (dossier_serveur:dossier_conteneur).
# Vos données sont stockées ici : ce sont ces dossiers qu'il faut sauvegarder.
volumes:
- ./redis:/data
# Le réseau du reverse proxy existe déjà : on s'y raccroche
networks:
traefik:
external: true