SaschaG: bei mir läuft die "med/latest" Variante problemlos, lediglich wird das Influxdb2 Plugin (noch im dev status) nicht gefunden. Muss ich dann auf die "full" Variante wechseln oder kann ich dieses Plugin für die "med/latest" Variante nachinstallieren? Ich nutzte eine Synology NAS.
Danke vorab.
Ankündigung
Einklappen
Keine Ankündigung bisher.
alternatives Docker Image
Einklappen
X
-
Ich denke, das ganze Projekt lebt von der Community und der Tatsache, dass es auf verschiedenen Wegen zugänglich wird. Ein "offizielles" Dockerimage, um das sich mehrere Leute außerhalb vom Core kümmern, begrüße ich sehr.
Morg ist übrigens auch im Coreteam.
Einen Kommentar schreiben:
-
Die Seite liest sich ja so, dass das passt. Ich würde mir jetzt nur nicht einfach so anmaßen für SHNG zu sprechen... Aber ich kann das gerne versuchen voran zu treiben, wenn ich von den offiziellen Maintainern das OK bekomme. henfri / SaschaG bzw. bmx / Msinn / psilo / OnkelandyZitat von bmx Beitrag anzeigenDu kannst höchstens mal auf https://www.docker.com/community/ope...e/application/ schauen, ob das auch kostenlos geht für Open Source Projekte
Einen Kommentar schreiben:
-
Hi!
Don't fix what is not broken :-) Gerne! Der einzige Haken daran ist, dass damit die Arbeit bei henfri liegt und nicht verteilt werden kann. Das wäre bei der Organisation besser, aber hmm. henfri kannst Du Dir vorstellen ein DockerHub Personal Access Token in die GitHub Secrets zu packen? Dann könnten wir die Berechtigungen für das Docker-Repo erweitern und trotzdem den bewährten Distributionskanal verwenden.Zitat von SaschaG Beitrag anzeigenIch würde aber den existierenden "offiziellen" Weg über Hendrik bevorzugen.
Das ist das Entscheidende - eine Codebase. Die Zusammenarbeit erfolgt über Pull Requests und Code-Reviews. Sprechende Commit-Kommentare retten die Kommunikation und Feature/Strategiediskussionen dann von mir aus hier oder über Gitter. Mein Fork ist aus der "Not" geboren, die Dinge nachvollziehbar zu teilen ohne das Original in Frage zu stellen und nicht, weil ich was eigenes aufziehen will. henfri Machst Du das Quality-Gate, ich stell dann einen Pull-Request?Zitat von SaschaG Beitrag anzeigenCodebase auf Github
Mein Vorschlag ist der: Nutze ein Plugins-Default Verzeichnis im Image um die Standard Plugins aus dem Repo "vollständig" vorzuhalten. Das Einkopieren der Plugins aus dem Plugins Verzeichnis außerhalb des Containers passiert nur für die Plugins an denen man fummelt. Vorteil: Einfach das Verzeichnis löschen, das stört, und sofort nach dem Containerneustart ist alles wieder fein. In meiner Pipeline zuhause führt jede Konfigurationsänderung zu einem Containerneustart, und alle Plugins werden aus den jeweiligen individuellen Repositories neu geladen (dauert <2 sek). Damit zwinge ich mich über Git zu arbeiten und meine Änderungshistorie nachzuhalten.Zitat von SaschaG Beitrag anzeigenWie binde ich User Plugins mit ein
Hatte ich auch überlegt, aber das sind schon echt viele Plugins und das ist auch unübersichtlich. Um hier dann wieder "auf Standard" zurückzukommen muss man wieder git bemühen.Zitat von SaschaG Beitrag anzeigenMounten aller Plugins unter einem bestimmten Pfad.
Ich würde für das Gesamtsystem irgendwie gerne dahin kommen, dass die Plugins jeweils einzeln in Github-Repositories liegen und man quasi nur eine Registrierung (Ähnlich "Packagesource") in das offizielle Repo macht, um die Plugins versionskontrolliert an das offizielle Release zu binden (ich glaube HomeAssistant macht das auch so). Dann könnte man den Usern auch die Möglichkeit geben, über die GUI ein Git-Repo als Plugin-Quelle zu definieren, zack ist das ganze Problem gelöst und das Ökosystem kann florieren, damit lässt sich auch das "Lizenzproblem" lösen, wenn man dritten Code im Plugin nicht über pip-Sourcen einbinden kann. Das ist natürlich ein vollständiger Strategiewechsel und sicher nicht in einem Release getan. Und wahrscheinlich übersehe ich noch sechshundertdrölfzigtausend Gründe die dagegen sprechen. Evtl. ist diese Diskussion aber einen eigenen Thread wert.
Zurück zum Container:
Ich bin übrigens nicht so der "Linux-Admin" - d.h. die ganzen chown, gosus etc. verstehe ich zwar grob, aber so richtig fit erlebe ich mich darin nicht. D.h. das was ich jetzt ergänzt habe muss von jemandem, der/die/* das kann nochmal gecheckt und ggf. ergänzt werden.
Was ich auch noch nicht gerafft habe ist das Faktum, dass ich bei mir immer noch ein chmod +x für die Entrypoint/Wrapperscripte machen musste um den Container lauffähig zu bekommen. Ich finds zwar logisch und konsequent, frage mich aber, warum das in euren Varianten bisher nicht nötig war...
Danke fürs Lesen bis hierhin 🙃
Grüße,
Jens
Einen Kommentar schreiben:
-
Hallo
Ich denke es ergeben sich verschieden Fragestellungen die wir evtl. aufsplitten sollten:- Wann tellen wir den Usern ein aktuelles Image zur verfügung? Hier sit der Verbreitungsweg evtl. egal. Ich würde aber den existierenden "offiziellen" Weg über Hendrik bevorzugen.
- Wie arbeiten wir zusammen? Die Codebase auf Github von Hendrik scheint mir dafür ausreichend.
- Wie binde ich User Plugins mit ein?
- Hendriks Vorschlag: Manuelles Mounten der Plugins. Vorteil: Native Docker Bordmittel. Nachteil: Kann bei vielen Plugisn unübersichtlich werden.
- Jentz Vorschlag: Kopieren von (ZIP?) Datein in das Image? Vorteil? Einfacher zu konfigurieren. Nachteil: Neustart für Update?
- Neuer Vorschlag: Mounten aller Plugins unter einem bestimmten Pfad. Vorteil: Einfach zu konfigurieren. Direktes bearbeiten der Dateien möglich. Nachteil: ?
Sascha
Einen Kommentar schreiben:
-
jentz1986 Du kannst höchstens mal auf https://www.docker.com/community/ope...e/application/ schauen, ob das auch kostenlos geht für Open Source Projekte
Einen Kommentar schreiben:
-
henfri - Ich hätte den Knopf "create organization" vorher drücken sollen, bevor ich hier das mit der Organisation poste. Das kostet mindestens 35 EUR/Monat. Das würde ich bei aller Liebe fürs Thema nicht persönlich ausgeben wollen. Zumal der Wert ja nur ist, dass man den Container dann von mehreren Ecken erstellen kann. Aber das geht mit Github Actions ja auch, weil man den Workflow dann über Berechtigungen aufs Repository steuern kann.
Wieviel von den 2000 kostenfreien Minuten pro Monat wird da bisher genutzt? Einmal Container bauen und auf dem Hub veröffentlichen sind ca. 5 Minuten - hab ich gestern getestet 😁.Zitat von bmx Beitrag anzeigenAktuell verwenden Core und Plugins die Github Actions zum automatisierten Testen
Einen Kommentar schreiben:
-
-
Aktuell verwenden Core und Plugins die Github Actions zum automatisierten TestenZitat von jentz1986 Beitrag anzeigen... dann auch der Ansatz mit den GitHub Actions
Einen Kommentar schreiben:
-
Hi!
Danke für den Hinweis, das hatte ich nicht wahrgenommen.Zitat von henfri Beitrag anzeigendas Dockerfile hat sich seitdem ordentlich weiter entwickelt.
Ich habe jetzt den Branch oben noch einmal neu aufgebaut und alle relevanten Änderungen, die ich gemacht habe auf eurem Dockerfile neu abgespielt. Die Commit-Historie sollte jetzt einen angemessenen Überblick geben, was ich mir wo gedacht habe.
Hier: jentz1986/shng-docker at publish (github.com)
Danke für die Freigabe, das habe ich dann einfach gemacht :-) (siehe letzter Commit).Zitat von henfri Beitrag anzeigenpack doch pymysql einfach immer rein
Ich habe das Teil so noch nicht getestet, ich muss das noch bei mir lokal auf diesen Stand drehen. Wenn das dann läuft, baue ich die Github-Actions Datei.
EDIT: Meine echte Umgebung läuft nun auf Basis dieses Dockerfiles. So mag ich das!
EDIT2: Ist jetzt per GitHub Actions auf den Dockerhub gepusht, als: jentz1986/smarthomeng:v1.9.2beta0Zuletzt geändert von jentz1986; 18.09.2022, 16:31.
Einen Kommentar schreiben:
-
Finde ich gut. Aber Vorsicht: das Dockerfile hat sich seitdem ordentlich weiter entwickelt.
Aber pack doch pymysql einfach immer rein.
Schadet doch nicht.
Einen Kommentar schreiben:
-
Hi!
Ich freue mich, dass wir jetzt in diese Diskussion kommen :-) Ich hätte das zwar eher versucht, auf Gitter zu machen, aber so ist das ja auch gut ;-)
Scheinbar wird ja mysql immer noch als Underdog betrachtet - weil es in keinem der Images vorhanden ist, und für die Mehrheit auch nicht nötig ist. Ich brauche mysql, daher muss ich die Library haben. Das sind schon zwei Varianten. Alles andere ist mehr ein "weil es geht" :-) Mit dem nächsten Release von SHNG wird Python 3.10. Standard, daher fliegt dann zwave raus. Das könnte Variante 3 werden. Oder auch nicht, dann baut man allerdings wieder ein "alles geht" Maximal-Image.Zitat von henfri Beitrag anzeigenWarum sind mehrere Varianten nötig?
Das ist es ja. Es ist das Dockerfile, welches ich im Juli vom ersten Post heruntergeladen habe. Nur eben um Bugfix(es) erweitert und mit der Funktionalität ausgestattet, die es möglich macht, Plugins einfach in ein Verzeichnis zu packen, statt neu zu mounten. Das soll es Einsteigern leichter machen - und mir nebenbei auch, weil ich mehrere andere Workflows daran gekoppelt habe. (Ich bastele an fünf Plugins mit rum, da war die Mountliste schon unübersichtlich).Zitat von henfri Beitrag anzeigenWäre es nicht sinnvoll auf dem Dockerfile von Sascha und mir aufzubauen?
Ich will ja gar nicht unnötig Varianten und unterschiedliche Herangehensweisen propagieren, und wenn alles im Standard für mich funktioniert hätte, wäre ich sofort auf Standard "zurück" gegangen. Was ich brauche, entwickle ich, und wenn es jemand auch brauchen kann, bitte.
Wir (SmarthomeNG Entwickler Community) sollten in der Lage sein, die Docker-Images automatisch auf dem passenden Stand zu halten, daher dann auch der Ansatz mit den GitHub Actions, damit das wechseln der Version nach einem Release der Quellrepos schnell geht. Ich baue das gerne weil das mir Spaß macht - für meinen Stack zuhause habe ich das in Gitlab realisiert - brauche das also nicht.
Einen Kommentar schreiben:


Einen Kommentar schreiben: