Joies & frustrations

Les joies & frustrations de l'auto hébergement.

Joies & frustrations

Bonjour,

L’informatique, c’est quelques moments de joie quand ça fonctionne mais c’est aussi et surtout beaucoup de frustrations ! Depuis que j’ai passé mon serveur web sous Docker, c’est la fête, tout fonctionne à merveille, c’est ultra-performant et surtout je peux tester pleins de solutions différentes, ce que je ne pouvais pas faire jusqu’à maintenant. C’est l’un des gros intérêt de Docker, c’est qu’on peut « s’amuser » très facilement, ça prend quelques secondes pour créer un container et le détruire. Donc pourquoi se priver ?

Je me retrouve aujourd’hui avec une solution technique qui est certainement surdimensionnée pour mon site web par rapport au nombre de visiteurs journaliers mais ce n’est pas comme si ça me coûtait plus cher, ça me coûte juste un peu de RAM ! Donc aujourd’hui je tourne avec quels containers ?

  • Traefik : reverse-proxy, la base !
  • Watchtower : la solution des fainéants pour mettre les containers à jour automatiquement. Indispensable !
  • Autoheal : un container qui se base sur le « healthcheck » des containers et qui doit redémarrer ceux qui ne se sentent pas bien. Est-ce que ça marche ? Aucune idée, je n’ai jamais eu de containers « malades » jusqu’à maintenant. Mais bon, vu le succès du container, ça doit bien fonctionner ! 🙂
  • Portainer : la solution qui permet de manager les containers via une interface graphique. Je ne m’en sers pas du tout pour créer des containers (je trouve ça plus compliqué que le faire via les docker-compose au final et en plus il y a moins d’options) mais surtout pour aller voir les logs et les arrêter/redémarrer facilement.

Pour le site web, j’utilise les containers suivants:

  • WordPress : un immense fourre-tout qui m’irrite autant qu’il est parfois plaisant à utiliser pour propulser son site web. Malgré tout beaucoup moins ennuyant depuis qu’il est sous docker car ça le rend plus « souple » au niveau de la gestion de certains fichiers. A noter que j’ai fait mon propre plugin de 2 lignes pour mettre à jour les extensions. Ah bah oui, il faut pousser la fainéantise jusqu’au bout !
  • Mariadb : base de données.
  • PhpMyAdmin : interface graphique pour la gestion de la base de données.
  • Matomo: un excellent container pour la gestion des statistiques de votre site. Tout est traité en local, adieu Google Analytics ! En plus de ça j’ai pu créer une page qui est disponible pour tout le monde et je me suis fait un tableau de bord qui est super plaisant et bien plus flexible que celui de Google.
  • Redis : il est sensé mettre en cache wordpress et l’accélérer. Bon il est installé et il fonctionne mais honnêtement je n’ai pas vu une amélioration des performances drastiques. Mon trafic doit être insuffisant pour qu’il ait une quelconque influence.
  • Mail : il permet d’avoir une solution pour envoyer des mails out of the box mais au final j’utilise un plugin pour utiliser gmail dans wordpress.

Voila ce que ça donne sur pingdom, c’est plutôt très bon ! Bon après le seul vrai test qui compte pour moi c’est quand je teste depuis l’extérieur (j’utilise mon téléphone en 4G pour ça).

Pour la supervision, j’ai mis en place Dockprom (une solution tout en un pour l’importation des données et l’affichage). On peut le faire soit-même car les containers qu’il utilise sont très connus et il y a de nombreux guides sur le net mais l’avantage c’est qu’il propose des templates déjà tout fait et ça permet de gagner beaucoup de temps !

Ca a de la gueule ! Pour le CDN, je n’en utilise pas. C’est vrai que ça permet de protéger son site car l’accès devient indirect mais dans un autre temps, pour un tout petit site comme le mien, ça ne peut que le ralentir (sans compter que je ne veux pas « donner » mes données à un fournisseur tiers). Pour ce qui est de la sécurité, je considère que j’ai ce qu’il faut avec Pfsense.

Pour ce qui est de mon NAS, je l’utilise comme download station et stockage:

  • Transmission : j’utilise depuis quasi 10 ans cette solution pour les torrents. Gestion via interface graphique web, ultra léger et performant. A noter qu’il existe un plugin pour chrome/firefox qui permet grâce à un clic droit d’envoyer des magnets directement dans transmission.
  • Jdownloader : pour les téléchargements directs. Pareil, il existe un plugin chrome/firefox pour envoyer directement les liens dans l’interface graphique.
  • Organizr : ça permet de regrouper vos liens principaux sur une seule page. La version 2 qui date du mois de Mars a permis à l’application de faire un gros pas en avant niveau graphique/gestion. C’est sympa.
  • Plex : pour la gestion de mes vidéos personnelles.
  • Tautulli : pour la supervision de Plex.
  • Nextcloud : synchronisé avec mon téléphone portable pour le téléchargement automatique de mes photos sur mon NAS. Nickel !
  • Watchtower & autoheal : aussi sur ce Docker pour les mises à jour automatiques et le suivi médical.
  • Calibre-web : l’excellent petit dernier que je viens d’installer pour la gestion de mes ebooks. J’utilise Calibre sur mon PC en tant que bibliothèque pour les « ranger » et pour la consulter jusqu’à maintenant j’avais Ubooquity. Mais franchement, cette application est nulle, moche, elle ne prend pas en compte les livres lus, les modes de classement sont bidons et j’ai l’impression que mes tags dans Calibre ne servent à rien. C’est là que Calibre-web est venu me sauver ! En gros il fait tout ce que ne fait pas Ubooquity mais en plus il est super sympa graphiquement. Il permet tout simplement de consulter sa bibliothèque à distance sans problème et de télécharger ses livres directement sur son Kindle. Franchement, j’adore ! Faudrait que je fasse un guide quand j’aurais un peu de temps.

On voit par exemple les derniers livres que j’ai lu. Il y a du très lourd d’ailleurs, merci l’Atalante pour l’exceptionnel Assasynth ! Un peu de pub ça ne peut pas leur faire du mal surtout que c’est un des très très rare éditeur qui traduit et publie de la SF!

Et les frustrations alors ? Bah ça concerne la gestion de mes sous-domaines. J’ai essayé de mettre en place Haproxy (un reverse-proxy) dans Pfsense mais je n’arrive pas à le faire fonctionner comme je veux. Et ça m’énerve parceque je ne vois pas ce que je n’ai pas fait correctement. Pourtant Pfsense est assez simple à utiliser quand on a compris son fonctionnement, c’est vraiment très logique. En fait ça fonctionne mais dès que je passe avec le SSL, plus rien ne marche comme il faut. Une sacrée merde ces certificats SSL… Et ce qui m’étonne c’est que tous les guides que je trouve prennent en exemple le port 80. Mouais moi aussi les gars ça marche avec le port 80 hein, c’est le 443 qui nous intéresse en 2019 ! Pourtant les guides sont récents, c’est ça qui est vraiment étonnant. J’arrive pourtant bien à avoir un certificat SSL qui va bien grâce au plugin ACME de Pfsense mais j’ai l’impression de pisser dans un violon… La solution que j’ai actuellement marche mais je ne la trouve pas assez « esthétique » et surtout je ne peux pas générer de certificats pour ces sous-domaines (enfin si mais à priori ils ne sont pas pris en compte, hummm). J’ai vraiment l’impression de tourner en rond et ça fait un gros moment que je galère pour trouver une solution correcte pour mes sous-domaines. Je garde un tout petit espoir mais franchement je ne crois plus à l’étincelle !

@+