====== 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'[[projets:discourse#Redirection|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//. {{:projets:discourse_upgrade.jpg?400|}} 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 {{:projets:discourse_upgrade_dockermanager.jpg?400|}} ==== 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.