Hedgedoc¶
HedgeDoc (anciennement CodiMD) est un service web de traitement de texte collaboratif (En Markdown) et en temps réel.
dispo sur: doc.aquilenet.fr
VM: [[reseau:sisyphe]]
Configuration¶
On autorise les utilisateurs anonymes à créer un doc.
Il est aussi possible de s'y connecter avec son compte aquilenet (connection LDAP, user: "cn=hedgedoc,dc=aquilenet,dc=fr").
Installation¶
installation via: https://docs.hedgedoc.org/setup/manual-setup/
DB choisie: mariaDB, user hedgedoc
Install actuelle:
- systemd file: /etc/systemd/system/hedgedoc.service
- hedgedoc:
- sources: /srv/hedgedoc
- conf: /srv/hedgedoc/config.json
Mise à jour¶
Pour mettre à jour utiliser le script sur Sisyphe: /root/Update_Hedgedoc.sh /srv <nouvelle version e.g. 1.9.6>
En résumé le script fait:
- télécharge le tar depuis github (avec les sources frontend déjà build dedans)
- écrase le dossier hedgedoc sur place
- n'efface pas le fichier config.json dedans qui contient notre conf de Hedgedoc (fait même un backup avant untar)
- exécute le script ./bin/setup du tar qui met à jour
- redémarre le service systemd hedgedoc
Suppression des pads inutiles¶
Une CRON exécutée quotidiennement supprime les notes vides avec le script /root/purge_hedgedoc.sh
.
Si Hedgedoc commence à ramer, il peut être nécessaire de supprimer les pads vides et ceux qui sont clairement du spam :
SELECT COUNT(*) FROM `Notes`;
DELETE FROM Notes WHERE content = '';
% les pads avec plus de 40 liens (reflechir si le seuil ne devrait pas etre plus haut)
DELETE FROM Notes WHERE LENGTH(content) - LENGTH(REPLACE(content, 'https://', '')) > (LENGTH('https://') * 40);
% ----------------
SELECT COUNT(*) FROM Notes;
SELECT COUNT(*) FROM Notes WHERE LENGTH(content) = 0;
DELETE FROM Notes WHERE LENGTH(content) = 0 AND updatedAt < (NOW() - INTERVAL 6 HOUR); % Y a des cascades vers toutes les autres tables
SELECT COUNT(*) FROM Notes WHERE LENGTH(content) = 0;
OPTIMIZE TABLE Users;
OPTIMIZE TABLE Temp;
OPTIMIZE TABLE Sessions;
OPTIMIZE TABLE Notes;
OPTIMIZE TABLE Revisions;