Table des matières
Résumé du projet Discourse
Quoi ?
Le but est de rendre les discussions plus agréable que les mails tout en étant plus accessible sur des points lié à la transmission de connaissance (i.e : accès aux archives) que minimaliste.
Le serveur est joignable à l'adresse https://discourse.faimaison.net/
Systèmes affectés (modifiés, supprimés, nouveaux)
- une VM sur l'infra (1 vCPUs, 4 Go de RAM, 35 Go de disque)
Installation et mise en œuvre
- Mise en place d'une VM discourse.faimaison.net (v4,v6) et des enregistrements DNS associés
- Installation sous debian buster.
- Installation standard selon la documentation : https://github.com/discourse/discourse/blob/master/docs/INSTALL-cloud.md
- Installation d'Opensmtpd et dovecot (pop3)
Redirection
Discourse répond sur 2 URL différente : discourse.faimaison.net et forum.faimaison.net
Comme nous n'installons pas de reverse proxy sur la même machine, nous utilisons le même nginx fourni par le build officiel.
Ceci signifie que pour chaque rebuild il faut remodifier la conf de nginx et renouveller les certificats. Pour ce faire il suffit simplement d'executer un script:
sudo /root/enable_redirs.sh
Vie privée
Collecte de données
Une page par défaut avec discourse existe à ce sujet : https://forum.faimaison.net/privacy
suppression de l'utilisateur
La suppression d'un utilisateur ne peut pas se faire par l'utilisateur lui-même, cela doit passer par un administrateur pour l'instant. À l'avenir, cela pourrait se faire via un appel d'api via COIN.
Aussi, la suppression de l'utilisateur n'est pas tout à fait recommandé pour la continuité des discussions. À la plage, il s'agit d'anonymiser le compte. De cette manière, ce ne sera plus le pseudo de l'utilisateur qui apparait, mais un nom sous la forme anon12345. les échanges sont ainsi préservé sans savoir qui est exactement la personne.
Discourse : administration système
Pour l'administration au quotidien (création de catégorie, modération, etc.) une connaissance de fonctionnement de discourse même est nécessaire et est un sujet à part entière.
Cette page ne fait état que de la configuration pour l'essentiel : particularité sur les email, les mises à jours et les backups.
gestion d'email
configuré avec un compte dédié sur mail.faimaison.net
Mise à jour
L'interface d'administration va prévenir lorsqu'une mise à jour est disponible. Par défaut, la mise à jour de discourse va entrainer la mise à jour automatique des plugins et des thèmes/composants.
Après chaque mise à jour il est nécessaire d'executer le script de redirection
via interface web
Le tableau de bord de l'administrateur a un lien Rechercher les mises à jour ici. qui renvoi sur une page et vérifie si des mises à jours sont disponibles.
On peut aussi y aller directement via l'url : /admin/upgrade
De là, il suffit de cliquer sur le bouton update all.
Il est toutefois possible qu'il faut d'abord mettre à jour docker manager. Dans ce cas là toutes les autres mises à jours sont impossible, les bottons sont grisé. L'extension docker manager peut se mettre à jour en allant tout en bas de la page
via ligne de commande
La mise à jour par ligne de commande est une approche alternative mais il arrive que ce soit obligatoire dans certains cas. Un message préviendra lorsque ce sera nécessaire. Dans tous les cas, pour ce faire il faut réaliser les commande suivante. Avec l'utilisateur root :
cd /var/discourse ./launcher rebuild app
Nettoyage
Reconstruire une image ne supprime pas les images précédente, On accumule donc les images et perd de l'espace. Pour supprimer les containers et images inutilisé faire la commande suivante :
cd /var/discourse ./launcher cleanup
L'application demandera une validation pour la suppression de toutes ces données
Sauvegarde et restoration
Par défaut Discourse réalise ses propres sauvegarde mais les stock en locale dans le répertoire : /var/discourse/shared/standalone/backups/default
.
Le backup se présente comme une tarball. voici un exemple : faimaison-2021-04-03-033134-v20210318020143.tar.gz
Cette tarball contient :
- un dump compressé de la base de donnée.
- tous les fichiers uploadé sur l'instance.
Les backups ont été désactivé car on gère avec PBS
le fichier de configuration ne fait pas parti de la tarball. Il faut le récupérer séparément.
PBS
la VM de discourse est backupé par PBS tous les jours
Pare-feu
UFW est activé sur la machine. l'ensemble des ports sont bloqué en dehors de SSH, http, https, pop3, smtp(s) et imap(s). Les flux pour les protocoles de mails sont là pour des raisons historique mais pourraite être supprimé car Discourse n'est plus le serveur gérant également les mails.
Monitoring
Zabbix monitor la machine. En plus du monitoring OS, un scénario web a été mis en place mais sans trigger pour l'instant De plus le template Nginx with http a été configuré sur le host. Il test l'adresse : http://89.234.177.198:8080/basic_status pour s'assurer que nginx est encore up.