Aujourd'hui nous allons parler de Docmost! Une application qui se situe entre l'application pour prendre une note et pour créer un espace de travail communautaire.
Le seul truc qui manque, à mon idée, et qui, je pense, ne tardera pas à être implémenté, c'est de pouvoir ajouter des documents autre que vidéo et image.
Pour une utilisation optimale, il est préférable de relier l'application à un nom de domaine et d'activer et configurer le serveur mail.
Découvrons Docmost ensemble, ça vaut le coup d’œil! 😀
⚡Caractéristiques
- Éditeur de texte enrichi collaboratif en temps réel: L'éditeur permet à plusieurs utilisateurs de modifier simultanément des pages en temps réel. Il prend en charge les tableaux, les mathématiques (LaTex) et les légendes, pour n'en nommer que quelques-uns.
- Système d'autorisations: Contrôlez qui peut afficher, modifier et gérer le contenu grâce à un système d'autorisations robuste, garantissant que les informations sont sécurisées et accessibles aux bonnes personnes.
- Espaces de travail: Organisez votre contenu dans des espaces distincts dédiés à différentes équipes, projets ou départements, offrant ainsi un environnement de collaboration structuré et ciblé.
- Groupes: Créez et gérez des groupes d'utilisateurs pour accorder des autorisations unifiées, simplifiant ainsi le contrôle des accès en attribuant collectivement des rôles et des privilèges.
- Système de commentaires: Participez à des discussions significatives directement sur vos pages grâce au système de commentaires en ligne intégré.
- Historique des pages: Affichez l'historique des modifications apportées à chaque page, vous permettant de suivre les modifications au fil du temps et de revenir aux versions précédentes si nécessaire.
- Recherche: La recherche est optimisée par la recherche en texte intégral Postgres, dont le système vous permet de localiser rapidement les informations dont vous avez besoin sur toutes les pages.
- Pages imbriquées: Docmost prend en charge l'imbrication des pages à n'importe quel niveau. Vous pouvez réorganiser et gérer vos pages grâce à une simple fonctionnalité glisser-déposer directement depuis la barre latérale.
- Pièces jointes: Joignez facilement des images et des vidéos à vos pages en les collant simplement depuis votre presse-papiers. Docmost prend en charge le stockage S3 et local.
L'installation
- Créez votre docker-compose.yml dans le dossier ou vous comptez installer Docmost:
sudo nano docker-compose.yml
- Collez ça dedans en prenant soin d'adapter les ports et les volumes suivant votre configuration:
version: '3'
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: 'http://192.168.1.152:3444'
APP_SECRET: '9cce4ccf20a960010b63a176609b0e2238bda'
DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public'
REDIS_URL: 'redis://redis:6379'
#MAIL_DRIVER: 'smtp'
#SMTP_HOST: 'smtp.xxxx.xxx'
#SMTP_PORT: '587'
#SMTP_USERNAME: 'zarev@belginux.com'
#SMTP_PASSWORD: 'dkhjdjkfhsdfsjf'
#MAIL_FROM_ADDRESS: 'zarev@belginux.com'
#MAIL_FROM_NAME: 'zarev'
ports:
- "3444:3000"
restart: unless-stopped
volumes:
- ./storage:/app/data/storage
db:
image: postgres:16-alpine
environment:
POSTGRES_DB: docmost
POSTGRES_USER: docmost
POSTGRES_PASSWORD: STRONG_DB_PASSWORD
restart: unless-stopped
volumes:
- ./db:/var/lib/postgresql/data
redis:
image: redis:7.2-alpine
restart: unless-stopped
volumes:
- ./redis:/data
Veillez à modifier les points suivants:
- APP_SECRET: '9cce4ccf20a960010b63a176609b0e2238bda' => Remplacez 9cce4ccf20a960010b63a176609b0e2238bda par une clé secrète. Pour obtenir une clé secrète, tapez openssl rand -hex 32 dans votre terminal. Ce qui donne:
Copiez la clé complète et mettez-là entre les deux ' '.
- POSTGRES_PASSWORD: STRONG_DB_PASSWORD => Remplacez STRONG_DB_PASSWORD par un mot de passe fort.
- DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public' => Remplacez STRONG_DB_PASSWORD par le mot de passe choisi à l'étape d'avant.
- APP_URL: 'http://192.168.1.152:3444' => Remplacez l'IP par l'IP locale de votre serveur ou remplacez http://192.168.1.152:3444 par votre nom de domaine complet, toujours entre les deux ' '.
- Optionnel, si vous rencontrez des difficultés pour envoyer des fichiers, faites cette commande à la racine du dossier où vous allez installer Docomost. Pour peu que votre ID soit 1000, si non adaptez suivant votre ID. Pour connaître votre ID, tapez id dans votre terminal:
chown 1000:1000 storage/
- On installe l'application:
docker-compose up -d
ou avec docker-compose V2:
docker compose up -d
- Rendez-vous sur l'ip:port, suivant l'IP de votre serveur local et du port choisi, 3444 par défaut:
http://ip:3444/
ou votre domaine:
https://mondomaine.com
Configurer le serveur mail
Décommentez les lignes suivants, c'est à dire, supprimez les # en début de ligne:
MAIL_DRIVER: 'smtp'
SMTP_HOST: 'smtp.xxxx.xxx'
SMTP_PORT: '587'
SMTP_USERNAME: 'zarev@belginux.com'
SMTP_PASSWORD: 'dkhjdjkfhsdfsjf'
MAIL_FROM_ADDRESS: 'zarev@belginux.com'
MAIL_FROM_NAME: 'zarev'
Veillez à ce que ça reste aligné, comme ceci:
version: '3'
services:
docmost:
image: docmost/docmost:latest
depends_on:
- db
- redis
environment:
APP_URL: 'http://localhost:3000'
APP_SECRET: '78213443a688f1e3620995b13259cce4ccf20a960010b63a176609b0e2238bda'
DATABASE_URL: 'postgresql://docmost:STRONG_DB_PASSWORD@db:5432/docmost?schema=public'
REDIS_URL: 'redis://redis:6379'
MAIL_DRIVER: 'smtp'
SMTP_HOST: 'smtp.xxxx.xxx'
SMTP_PORT: '587'
SMTP_USERNAME: 'zarev@belginux.com'
SMTP_PASSWORD: 'dkhjdjkfhsdfsjf'
MAIL_FROM_ADDRESS: 'zarev@belginux.com'
MAIL_FROM_NAME: 'zarev'
ports:
- "34444:3000"
Maintenant remplissez les informations concernant votre serveur mail. Soit vous avez déjà votre propre serveur mail et vous avez les informations nécessaires ou vous pouvez utiliser le serveur mail de Google, Outlook,... je vous invite à lire cet article pour les informations à compléter:
- MAIL_DRIVER: 'smtp' => Rien à changer.
- SMTP_HOST: 'smtp.xxxx.xxx' => Indiquez le serveur smtp.
- SMTP_PORT: '587' => Utilisez de préférence ce port ou changez-le si vous avez une bonne raison.
- SMTP_USERNAME: 'zarev@belginux.com' => Indiquez votre adresse e-mail complète.
- SMTP_PASSWORD: 'dkhjdjkfhsdfsjf' => Indiquez le mot de passe. ⚠️ Attention que Gmail et d'autres ne vont pas accepter votre vrai mot de passe, il faudra en créer un spécifiquement pour l'occasion. Si vous avez lu l'article cité un peu plus haut, vous savez comment faire.
- MAIL_FROM_ADDRESS: 'zarev@belginux.com' => Indiquez de quelle adresse e-mail provient le mail.
- MAIL_FROM_NAME: 'zarev' => Indiquez le nom que vous voulez.
Création du compte administrateur
Lors du premier lancement de la page web de Docomost, vous aurez à remplir ce formulaire:
- Workspace Name => Choisissez le nom de votre espace de travail.
- Your Name => Choisissez votre nom, pseudo.
- Your Email => Indiquez votre adresse e-mail.
- Password => Choisissez un mot de passe fort.
Cliquez sur Setup workspace pour terminer.
Vous arriverez sur votre tableau de bord:
Mode sombre | clair
Pour activer le monde sombre, allez en haut à droite et cliquez sur la flèche 🔽, ensuite cliquez sur My preferences:
Dans Theme, sélectionnez Dark:
Vous avez également la possibilité de choisir Largeur pleine page.
Éditer votre profil
Pour éditer votre profil, allez en haut à droite et cliquez sur la flèche 🔽, ensuite cliquez sur My profile:
Vous arriverez ici:
- Photo de profil => Cliquez sur l'icône et indiquez la photo souhaitée.
- Changer le mot de passe => Cliquez sur Change password afin de modifier votre mot de passe.
Gestion des membres
Vous avez la possibilité d'ajouter des membres et de décider de leur rôle. Pour gérer les membres, allez en haut à droite et cliquez sur la flèche 🔽, ensuite cliquez sur Manage members:
Inviter un membre
Cliquez en haut à droite sur Invite members:
Remplissez les informations suivantes:
- Mail => Indiquez l'e-mail de la personne à inviter. Vous pouvez inviter 50 personnes d'un coup, adresses e-mail valides séparées par une virgule ou un espace.
- Role => Choisissez le rôle du/des membre(s).
- Groups => Choisissez le groupe du/des membre(s).
Cliquez sur Send invitation quand c'est terminé.
J'ai bien reçu l'e-mail, je clique sur Accept Invite:
Je suis invité à remplir ma fiche d'utilisateur:
- Name => Choisissez votre pseudo.
- Password => Choisissez un mot de passe fort.
Cliquez sur Sign Up pour terminer la création de votre compte.
Créer un espace de travail
Pour créer un espace de travail, allez en haut à droite et cliquez sur la flèche 🔽, ensuite cliquez sur Worksapce settings:
Ensuite cliquez sur Spaces:
Cliquez sur Create space:
Remplissez les informations demandées:
- Space name => Nommez votre espace de travail.
- Space slug => Nommez le "slug", qui sera rempli automatiquement suivant le nom de votre espace de travail.
- Space description => Faites une petite description de votre espace de travail, si vous voulez.
Cliquez sur Create quand c'est terminé.
Vous pouvez créer autant de sous-groupes de travail que vous voulez en cliquant sur +:
Définir le rôle des membres
Cliquez sur Space settings:
Choisissez le rôle de vos membres:
Créer une page
Tout ça pour finalement créer une page. Après tout, c'est bien son utilité première, non?
Cliquez sur +:
Commençons à remplir la page par un titre à la place de Untitled:
Voilààààà, c'est pas mieux?
Remplissons le corps de la page, le / sera votre meilleur ami! En effet, quand vous tapez / vous aurez toutes les possibilités que permettent Docmost, il en manque je trouve, mais elles sont déjà bien nombreuses!
Quand je dis qu'il manque de possibilités, c'est plus dans l'ajout de fichier. Pour le moment vous ne pourrez ajouter que vidéo et photo.
D'ailleurs, je vais ajouter une vidéo! je tape /v pour faire apparaître le menu:
J'indique où se trouve la vidéo sur mon pc et...
Maintenant, je vais partager la page avec une connaissance! Beh oui, c'est tellement fou comme page que je ne peux pas garder ça pour moi tout seul!
Je vais cliquez sur les trois points et puis sur Copy link:
C'est aussi simple que ça.
Vous avez des options pour la page en cours, cliquez sur les trois petits points:
- Copier le lien de la page.
- Vous pouvez choisir que cela prenne toute la largeur de la page.
- L'historique de la page.
- Exporter la page.
- Imprimer un PDF.
- Supprimer la page.
Pour le reste des fonctions, je vous laisse découvrir les nombreuses possibilités, pour en citer quelques-unes: liste de choses à faire (To-do). un titre, du code, un tableau, envoyer une image,...
La prise en main est très rapide, rien à redire de ce côté.