MVLP Posted June 7 Share Posted June 7 Hallo zusammen, ich bin gerade auf der suche nach einer Lösung für eine Frage bzw. Idee von mir. Auf meinem UnRaid läuft paperless-ngx und ich würde gerne in den Container einen mqtt client installieren. Das installieren an sich ist ja kein Problem, aber ich würde das auch gerne nach einem Update wieder haben. Was ja erstmal nicht geht außer man installiert es nach jedem Update neu. Ich habe gesehen, dass man bei nativem Docker ein "Dockerfile" anlegt, wo der Befehl zum installieren enthalten ist. https://kleypot.com/paperless-ngx-push-notifications/#:~:text=out the notification.-,Set up MQTT Client,-First%2C we need Nun ist die fragen wie kann ich das in UnRaid umsetzen? Quote Link to comment
alturismo Posted June 8 Share Posted June 8 6 hours ago, MVLP said: Nun ist die fragen wie kann ich das in UnRaid umsetzen? naja, das ist nicht die "Natur" von Docker und kein Dockermanager unterstützt dies so ... aber ... es gibt Docker Images die haben "customs" integriert, sprich, man kann addond (Pakete) per Variablen/scripts definieren und bei jedem Start hinzufügen ... Beispiel linuxserver, https://www.linuxserver.io/blog/2019-09-14-customizing-our-containers oder es gibt (gab) die Möglichkeit per extra / post ... aber ich meine das wurde restriktiert da es ein großes Sicherheitsrisiko darstellt ... kannst danach mal suchen und testen. oder als letzte Option, baust dir was drum herum, Richtung, script ... Beispiel 1/ docker updates laufen Nachts um 1.00 Uhr 2/ script läuft um 1.30 Uhr wo dein Paket installiert dabei legst das script ein File an als "check file" um zu schauen ob es überhaupt nötig ist usw usw ... workaround halt Quote Link to comment
Amane Posted June 8 Share Posted June 8 Ich habe mir die entrypoint.sh bei Nextcloud gemappt und dort änderungen vorgenommen, müsste eigentlich auch darüber gehen nicht? Quote Link to comment
ich777 Posted June 8 Share Posted June 8 2 hours ago, Amane said: Ich habe mir die entrypoint.sh bei Nextcloud gemappt und dort änderungen vorgenommen, müsste eigentlich auch darüber gehen nicht? Warum? Wäre es nicht einfacher ein custom Script zu mounten das ausgeführt wird vor dem Container start? Ist doch bei den meisten Container möglich und so vorgesehen. 19 hours ago, MVLP said: Nun ist die fragen wie kann ich das in UnRaid umsetzen? Kommt natürlich drauf an von wem der Container ist aber ich würd den Maintainer fragen ob es nicht möglich ist so wie bei Linuxserver ein script zu mounten das beim start als root ausgeführt wird (und auch bei meinen Containern) und einfach dort alles zu installieren. 1 Quote Link to comment
Amane Posted June 8 Share Posted June 8 32 minutes ago, ich777 said: Warum? Ach ich habe bei Nextcloud die UID und GID von www-data auf 99 statt 33 gesetzt. 31 minutes ago, ich777 said: Wäre es nicht einfacher ein custom Script zu mounten das ausgeführt wird vor dem Container start? Ist doch bei den meisten Container möglich und so vorgesehen. Es kann gut sein das ich den normalen Weg nicht kenne, da entrypoint.sh bereits ein Skript ist das vor dem Start ausgeführt wird, nahm ich dieses. Wenn es da einen Weg gibt der ebenso direkt funktioniert. darfst du mir den gerne veraten. Aber ich möchte nicht bei jedem Container auf den Maintainer zu gehen müssen. Quote Link to comment
MVLP Posted June 8 Author Share Posted June 8 59 minutes ago, ich777 said: Kommt natürlich drauf an von wem der Container ist aber ich würd den Maintainer fragen ob es nicht möglich ist so wie bei Linuxserver ein script zu mounten das beim start als root ausgeführt wird (und auch bei meinen Containern) und einfach dort alles zu installieren. Danke für den Hinweis, ich nutze den offiziellen Container von paperless-ngx. Ich versuche da mal ein Feature Request zu erstellen, vielleicht wird das ja umgesetzt. 1 Quote Link to comment
ich777 Posted June 8 Share Posted June 8 53 minutes ago, Amane said: Wenn es da einen Weg gibt der ebenso direkt funktioniert. darfst du mir den gerne veraten. Bei den linuxserver Containern (sind ja generell alle s6-overlay container die auf supervisord basieren) ist es einfach so das du ein (oder ggf. mehrere) Script dort hin mountest und das wird direkt beim start als root ausgeführt: /etc/cont-init.d/<DEINSCRIPTNAME> (das sollte eigentlich in allen s6-overlay containern funktionieren wenn ich mich nicht täusche) Bei meinen Containern muss das script dort hin gemounted werden (ich verwende kein supervisord) : /opt/scripts/user.sh 53 minutes ago, Amane said: Aber ich möchte nicht bei jedem Container auf den Maintainer zu gehen müssen. Musst du nicht unbedingt machen aber ich fände es cool wenn das jeder Maintainer irgendwie hinzufügt weil dann user einen möglichkeit haben 1 Quote Link to comment
Solution MVLP Posted June 8 Author Solution Share Posted June 8 Also ich habe noch mal genauer bei paperless geschaut und es gibt wirklich die Möglichkeit ein Skript beim Starten vom Container laufen zu lassen. Nach etwas versuchen hat es auch geklappt. Es muss wie folgt aussehen: Dann muss der Ordner und das Skript mit chmod 555 verändert werden, dann läuft das auch soweit. Danke @ich777 und @Amane für euren Input! 2 Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.