bokub / ha-linky

📊 Home Assistant add-on for Linky smart meters
MIT License
145 stars 8 forks source link

Ajouter la version docker (standalone) à GHCR. #38

Closed AlixANNERAUD closed 2 months ago

AlixANNERAUD commented 3 months ago

Bonjour, Je vous remercie pour cette intégration très pratique. Cependant, je tiens à souligner que HA sur TrueNAS Scale ne prend pas en charge l'installation des "Add-ons". Par conséquent, il serait pratique d'avoir l'image Docker "standalone" pour pouvoir déployer facilement et séparément ha-linky.

bokub commented 3 months ago

Oui c'est tout à fait possible, c'est expliqué dans la documentation.

Je ne publie pas d'image docker car en domotique il y a trop de systèmes différents à prendre en compte, mais il est possible de build l'image en une seule ligne de commande

AlixANNERAUD commented 3 months ago

Je comprends, cependant, le problème est que sur TrueNAS Scale, il n'est pas possible de construire directement (distribution "immuable"), et je pense que pas mal personnes ayant un homelab utilisent TrueNAS. En outre, proposer une image "standalone" profiterai à d'autres que ceux de Truenas.

bokub commented 3 months ago

Ah, j'ignorais que ce genre de distribution existait, et non je ne pense pas que vous soyez si nombreux puisque tu es le premier qui me parle de ce problème

bokub commented 3 months ago

Tu peux m'en dire plus sur ton impossibilité de build une image ?

J'ai cherché truenas docker build sur Google et j'ai trouvé plusieurs tutos, mais rien sur une impossibilité de construire une image docker

AlixANNERAUD commented 3 months ago

Il est possible de build des images sur TrueNAS, mais cela nécessite le déploiement d'autres "apps" (k8s) (gitea, portainer), ce qui ajoute une charge inutile pour le serveur en plus d'être assez fastidieux à mettre en place, sans parler des mises à jour automatique de l'image. Avoir une image du "standalone", juste pour amd64 (la seule plateforme supportée par TrueNAS), simplifierait grandement les choses.

bokub commented 3 months ago

Excuse mon scepticisme mais pourquoi aurais tu besoin de kubernetes ou d'apps externes pour exécuter un simple docker build ?

Quel est le résultat de la commande docker build précisée dans le README?

AlixANNERAUD commented 2 months ago

Il y a plusieurs raisons à cela. Tout d'abord, TrueNAS utilise Kubernetes (donc pas de docker build à moins d'installer Kaniko, ce qui m'amène à mon second point). Ensuite, TrueNAS est assez "strict" en imposant l'utilisation de bonnes pratiques sur les serveurs, notamment en empêchant l'installation directe de paquets sur l'OS hôte (immuable). C'est pour cela que pour construire une image Docker sur TrueNAS, il faut utiliser une VM ou Docker/Kubernetes. C'est trop lourd juste pour construire de temps en temps une image Docker.

C-Duv commented 2 months ago

Pourquoi ne pas build ton image sur un autre ordinateur pour ensuite la pull depuis TrueNAS ?

AlixANNERAUD commented 2 months ago

Je souhaite que le déploiement des mises à jour soit automatique/simple.

C-Duv commented 2 months ago

Un petit pipeline GitLab CI ou similaire avec GitHub Actions et ça devrait le faire.

(En tout cas, l'auteur ne semble pas vouloir se charger de la publication d'image Docker)

AlixANNERAUD commented 2 months ago

Trop lourd juste pour build une image docker.

bokub commented 2 months ago

En tout cas, l'auteur ne semble pas vouloir se charger de la publication d'image Docker

En effet, au début j'avais pourtant mis cette option en place, mais y'avait vraiment trop d'architectures possibles (liste ci-dessous) et ça prenait énormément de temps à build à chaque mise à jour, j'ai donc fait marche arrière.

Je rappelle que HA-Linky est un add-on pour Home Assistant, la version "standalone pour Docker" c'est du bonus, et c'est juste pour dépanner les quelques personnes qui ont des systèmes plus exotiques que HAOS. C'est une version que je n'utilise pas, et que je ne teste même pas (elle a été créée à l'aide de 2 contributeurs qui l'ont testée pour moi (cf #17))

Je ne souhaite donc pas revenir sur ma décision et dédier de mon temps juste pour que @AlixANNERAUD puisse avoir ses mises à jour automatiques. Rien de personnel, c'est juste trop de taff, du code spécifique à maintenir, et des images docker qui s'affichent sur le repo GitHub, tout ça pour faire plaisir à une seule personne.

ARMv6 32-bit (arm32v6): https://hub.docker.com/u/arm32v6/ ARMv7 32-bit (arm32v7): https://hub.docker.com/u/arm32v7/ ARMv8 64-bit (arm64v8): https://hub.docker.com/u/arm64v8/ Linux x86-64 (amd64): https://hub.docker.com/u/amd64/ ARMv5 32-bit (arm32v5): https://hub.docker.com/u/arm32v5/ IBM POWER8 (ppc64le): https://hub.docker.com/u/ppc64le/ IBM z Systems (s390x): https://hub.docker.com/u/s390x/ MIPS64 LE (mips64le): https://hub.docker.com/u/mips64le/ RISC-V 64-bit (riscv64): https://hub.docker.com/u/riscv64/ x86/i686 (i386): https://hub.docker.com/u/i386/

bokub commented 2 months ago

Je vois que @AlixANNERAUD a réussi à build sa propre image docker, donc tout est bien qui fini bien :slightly_smiling_face:

AlixANNERAUD commented 2 months ago

Je n'apprécie pas trop le ton employé, je ne faisais qu'exposer des arguments. Les tiens sont d'ailleurs pertinents et je les comprends totalement. Merge-la si tu veux. Après tout ce n'est qu'une vingtaine de secondes en plus sur ta CI.

jto2000 commented 2 months ago

Franchement je me permet un message car je trouve la discussion complètement surréaliste... Je n'ai aucun parti pris et je ne suis que simple utilisateur sans connaitre les interlocuteurs. Mais d'un côté on a quelqu'un qui propose un travail gratuit, hyper documenté, de qualité très pro. Mais c'est quand même pas assez alors qu'il pose ses limites noir sur blanc dans les docs ? Et en plus il faut qu'il réponde avec un ton qui sied à celui qui s'imagine client ? Il faut peut être souffler un grand coup avant d'attraper son clavier... Bref gros soutien au bosseur de l'histoire...

AlixANNERAUD commented 2 months ago

Tu te méprends totalement, je suis très reconnaissant de ce que fait @bokub. Je défends uniquement l'utilité de cette fonctionnalité depuis le début. Je tiens à souligner que 16 % de la communauté HA utilise une version conteneurisée (https://analytics.home-assistant.io/), sans support d'add-ons, ce qui pourrait potentiellement représenter une cible d'environ 3000 personnes en France. Par ailleurs, j'avais dès le départ l'intention de proposer une PR, j'attendais simplement une quelconque proposition/initiative (et du temps de mon côté). Donc non, je n'impose rien à personne. Je n'apprécie simplement pas l'insinuation selon laquelle j'abuserais de la communauté open-source uniquement pour servir mes propres intérêts.