Retour sur 2 ans d’auto-hébergement avec Yunohost

geek matériel informatique Internet Yunohost auto-hébergement
2 ans, déjà… J’ai installé mon petit serveur Yunohost en décembre 2019. Ce qui m’a décidée, en dehors de l’arrivée de la fibre, c’est qu’il ne faut pas un foudre de guerre pour l’installer.
N’étant pas une sys admin, je ne me voyais pas non plus un serveur classique. Et puis le temps me manque. Mais l’idée d’auto-héberger ses services paraissait alléchante, à un moment où commençait l’idée d’une déframatisation d’Internet.

Pour rappel (ou pas), Yunohost, Kézako ?

Si vous savez ce que c’est, vous pouvez passer à la rubrique suivante.

Yunohost est une solution logicielle qui permet à une personne lambda, un peu technique mais pas trop, de gérer et d’héberger un bout d’Internet chez soi le plus simplement possible.

En gros, c’est un serveur Web sur base Debian avec une administration simplifiée par son interface Web. Le gros avantage de cette solution est la simplicité de l’administration : l’interface est rapide à prendre en main, les mises à jour sont simples, ce qui fait de cette solution d’hébergement un outil intéressant, agréable, et simple d’utilisation.

yunohost06

L’autre avantage est que l’on peut intégrer des services Web tels que lecteur de flux RSS, webmail, cloud, d’un simple clic, comme n’importe quelle application. C’est d’ailleurs de cette façon qu’on nomme ces services : des applications.

Où que ça s’installe, ce machin ?

On peut louer un VPS1, l’installer sur un Raspberry Pi ou un PC. Dans le cas d’une machine maison, une fois l’installation effectuée, plus besoin d’écran ni de clavier. On peut gérer son serveur via l’interface Web dédiée ou en SSH. Comme c’était ma première installation, j’ai simplement branché un écran et un clavier le temps de l’installation, je n’ai donc pas tenté d’installation à distance.
Mais tout est dans la doc. Il y a une doc, donc si vous voulez essayer, ce serait un crime de ne pas en profiter : https://yunohost.org/fr

Il est à noter que la puissance de la machine choisie va forcément dépendre des services qu‘on y installe et du nombre d’utilisateurs. Par exemple, le mini-PC sur lequel j’ai installé mon instance presque mono-utilisatrice n’était pas en mesure d’héberger un serveur Matrix2 (j’ai essayé par curiosité, le serveur a paniqué). Je ne tenterai pas non plus d’installer un Mastodon3 ou un Pleroma4, par exemple.

Les spécifications de la machine :

  • CPU : Intel(R) Celeron(R) CPU N3450 @ 1.10GHz (4 cores)
  • RAM : 8 GB
  • Disque dur SSD 128 Go
    Je l’ai payée environ 120 € chez les Chinois. 128 Go de disque dur pour un cloud, c’est un peu léger. J’ai donc ajouté une partition NFS et je finirai sûrement par utiliser un disque dur plus gros lors d’un éventuel upgrade.

Les services installés

Quand on se lance dans l’auto-hébergement on finit tôt ou tard par apprendre l’une des lois immuables de l’Univers : faites vos backups, Bordayl !

Étant du style à installer des applis dont je ne vais peut-être pas me servir, juste pour le plaisir de les tester, j’ai donc passé une temps fou à parcourir la liste des applications. Là encore c’est très simple : celles en vert fonctionnent, celles en rouge ou orange, c’est à vos risques et périls :D

yunohost04

Les premiers dont je me suis servis sont Wallabag et TinytinyRSS, dont je me servais par ailleurs déjà grâce à Framasoft. Et Archivist, c’est pas mal Archivist. C’est en tout cas une bonne façon de faire des sauvegardes manuelles. Quand on se lance dans l’auto-hébergement on finit tôt ou tard par apprendre l’une des lois immuables de l’Univers : faites vos backups, Bordayl !

C’est d’autant plus indispensable de les faire qu’on parle de données sensibles hébergées sur une machine dont on assure soi-même la maintenance. Après, c’est vous qui voyez…

À noter que Yunohost embarque un serveur XMPP fonctionnel.

J’ai donc installé pour tester :

  • À peu près tous les CMS de la liste, juste pour tester. Et je les ai désinstallés ensuite.
  • Tous les wikis de la liste pour savoir lequel j’allais garder. :D
  • Limesurvey, juste comme ça, pour voir. Pas encore testé en fait. Il est donc toujours là.
  • Mattermost, juste pour le fun. C’est surdimensionné par rapport à mon usage, donc je ne l’ai pas gardé. Mais l’idée est intéressante pour les petites organisations.
  • Riot (qui s’appelle maintenant Element)
  • Synapse (Matrix), mais je manquais cruellement de puissance
  • Trilium : Intéressant pour gérer ses notes. Il a ses bons côtés, mais je n’ai pas trop aimé les exports

Pendant un temps j’ai gardé un hébergement mutualisé pour un Wordpress et un blog (CE blog).

Et j’ai installé et gardé :

  • Archivist, parce que backup, bordayl, toussah…
  • CodiMD parce que, comme ça, pour voir. Son sort reste suspendu car je n’en ai pas beaucoup l’utilité finalement. Mais pour qui souhaite gérer ses notes en Markdown, c’est pas mal.
  • Converse : Interface Web XMPP. Ça dépanne.
  • Cryptpad : très pratique d’avoir une suite Office avec un espace chiffré pour ses fichiers. Je l’avais installé au départ car aucune suite Office ne fonctionnait sur Nextcloud à cause d’un problème d’hairpinning5.
  • Dokuwiki, parce que je me suis dit qu’un wiki pour mes recettes de cuisine, ce serait pas mal pour remplacer le cahier 24x32 maculé de taches de sauce, farine, gras, chocolat, par une tablette. J’ai laissé tomber la tablette (pas par terre, hein, son utilisation) parce que l’écran est moins absorbant que le cahier. Donc pour le nettoyage…
  • Etherpad : il est en sursis. Je ne l’utilise pas très souvent.
  • Fresh RSS : pour ma veille perso et pro. Je l’utilise quotidiennement.
  • Grav pour le blog sur lequel vous lisez le présent article.
  • Lutim pour le cas où. N’a servi qu’une fois.
  • Monitorix : très utile pour avoir des stats de serveur selon la durée choisie
  • Mumble : pour du vocal, c’est un équivalent de Teamspeak.
  • Netdata : Monitoring serveur avec une interface graphique très agréable
  • Nextcloud : comme son nom l’indique, c’est un cloud, avec une base d’applications très étendue. Je m’en sers surtout pour synchroniser mes notes Joplin, sauvegarder mes contacts sur mobile, et gérer quelques fichiers.
    La curiosité m’a également poussée à y ajouter tout un tas d’applications.
    Par contre, j’ai eu une mauvaise expérience avec la synchronisation, donc je n’ai pas réitéré l’expérience.
    Je ne suis pas fan de l’interface d’email, l’agenda et plutôt bien mais le gestionnaire de tâche n’est pas terrible pour des tâches récurrentes.
  • Privatebin pour de l’échange d’infos chiffrées et temporaires. Pour l’envoi de mots de passe c’est probablement la solution la moins pire.
  • Sogo : Webmail IMAP, calendrier, et gestion de contact avec prise en charge Webdav. L’interface est simple et agréable, le gestionnaire de tâche est le meilleur que j’aie testé jusqu’ici.
    Le seul incovénient est que Sogo considère que mon adresse email n’est pas valide. J’imagine que l’extension n’est pas reconnue. Je peux donc consulter mes emails mais pas en envoyer.
  • Shaarli : comme je m’intéresse à des sujets très divers, avoir un endroit où ranger des liens semblait une bonne idée. C’en est une. j’y range plein de liens aussi divers que variés qui n’ont pas spécialement leur place dans mes favoris, mais qui peuvent toujours servir. Et que ces liens soient en accès public n’est pas gênant en soi. Par contre, c’est mal rangé :D
  • Syncthing : le logiciel de synchro de Nextcloud a pris tellement de ressources sur mon vieux laptop lors de la première synchro que j’ai renoncé à synchroniser des fichiers avec Nextcloud. Syntching me permet de synchroniser des fichiers entre le mobile, la tablette, et l’ordinateur. Je trouve plus facile de faire le ménage sur mon mobile dans les photos et autres fichiers depuis un ordinateur. Et puis j’ai un double de mes données en cas de panne du mobile.
  • Transmission
  • Vaultwarden : très vite adopté, au début je m’en servais pour le tester, avec quelques rétincences à mettre un gestionnaire de mots de passe en ligne. Tant pis, je suis accro, je le garde. Il est très pratique. Et c’est l’une de applications que je sauvegarde le plus souvent.
  • Wallabag : pour garder des articles à lire plus tard. C’est Framasoft qui m’avait fait découvrir cet outil. Je ne saurais plus m’en passer.
  • Wordpress pour 1,2,3,Furets
  • Writefreely : C’est en cours de test :)

Ce que je n’héberge pas

L’une des seules choses que je n’héberge pas, ce sont mes emails. Suite à une panne d’Internet chez moi j’ai préféré que mes boites emails restent externalisées. Si mes autres services ne sont pas joignables, tant pis, je suis de toute façon la seule à l’utiliser, en dehors du XMPP pour la messagerie. Et puis un MX plan c’est pas cher.

Je n’ai pas non plus d’intance Mastodon, Pixelfed ni Peertube. Cela demande pas mal de ressources, et probablement plus de travail que le reste des services que je fais tourner sur Yunohost.
Ceci dit je n’utilise plus Pixelfed et je n’aurais rien à héberger sur un Peertube. Et Mastodon, c’est comme pour les emails, c’est plus simple externalisé, même si je comprends que certaines et certains ne soient pas fanas des grosses intances.

Le bilan

Héberger ses données personnelles est très gratifiant ; mais pose un sérieux problème quand on les perd. Comme j’ai dû le réinstaller une fois suite à plantage de mise à jour, mon premier conseil c’est de faire des backups. J’ai pu ainsi récupérer mes données. Ce conseil est valable pour tout outil informatique à votre disposition (oui, je radote sur les backups mais cela en démontre toute l’importance).

Par ailleurs, attention avant de commencer, la gestion des DNS peut paraître déroutante. Suivre le mode d’emploi à la lettre et relire deux fois avant de sauvegarder est une bonne solution. Cela demande par contre de bien se documenter, surtout quand on est chez soi en IP dynamique. Au départ, les réglages se faisaient au niveau du registraire6. Les versions les plus récentes de Yunohost permettent de gérer les DNS sur le serveur. Je n’ai pas encore testé cette solution. L’actuelle gestion me va bien.

Côté maintenance, je passe une petite heure par quinzaine pour faire le tour et vérifier les mises à jour. Comme le serveur est hébergé chez moi, je n’ai donc pas redirigé le port 22 depuis le routeur. Ça fait un angle d’attaque en moins parce que les logs avaient rapporté pas mal de tentative de connexions avant que je coupe cet accès. Je me sers assez peu du SSH. Je l’ai surtout utilisé pour Let’s Encrypt.

Si c’était à refaire, je pense que je le referais. Cela demande un peu de temps, mais c’est quand même à la portée de pas mal de monde. En plus, le choix des applications est très large et je commence à avoir du mal à me passer de certains de ces services.

Article précédent