NEWS
[HowTo] ioBroker unter Docker auf Synology DiskStation
-
Hallo zusammen, bei meiner iobroker installation auf meiner DS218+ hat soweit auch alles funktioniert. Nun wollte ich auch ein automatisches Backup nach der Anleitung von Andre erstellen. Dies ist der Punkt, der nun nicht funktioniert. Ich habe soweit alles mehrfach kontrolliert. Die verschiedenen Pfade dementsprechend angepasst, im Aufgabenplaner das Script erstellt, etc.
Wenn ich das Script manuell im Aufgabenplaner auslöse, bekommen ich folgende Fehlermeldung via mail: Standardausgabe/Fehler:
sh: /volume1/docker/iobroker_backup/backupscript.sh: /bin/bash^M: bad interpreter: No such file or directory
Wo könnte der Fehler liegen ?
Vielen Dank für Eure Hilfe.
eve11 `
Hallo,
du hast dein script bestimmt mit dem editor unter windows erstellt und dann hoch geladen?
Ich tippe darauf, dass die Kodierung deines Scripts nicht kompatibel mit Linux ist, bzw nicht korrekt umkodiert wurde… Kannst du umgehen indem du z.B. mit Notepad++ arbeitest...
schau mal hier: https://askubuntu.com/questions/304999/ … nterpreter
Erster Treffer bei Google.
MfG,
André
-
Hallo Andre,
Problem gelöst, nachdem ich im Notepad++ unter Bearbeiten=>Format Zeilenende den Eintrag auf "Konvertiere auf Unix" geändert.
Nach ist das Backup gelaufen.
Vielen Dank
eve11
-
Hallo,
folgendes Problem.
Ich habe ioBroker installiert, lief auch alles Prima. Hatte beim ersten Stard meine volle 16GB zur Verfühung (DS718+). nach einem Tag zeigte mir ioBoker nur noch 210MB als verfügbaren Arbeitsspeicher an???
Was ist da los?
Was habe ich falsch gemacht???
Sonnst läuft alles super … ausser Harmony ...
Kann mir bitte einer weiterhelfen.
Erst eimal besten Dank...
-
Hallo,
Harmony läuft jetzt bei mir.
Ich habe das Harmony Paket gelöscht und iobroker runtergefahen und neu gestartet und das Harmony Paktet neu installiert.
Danach hatte ich alle Funktionen
Jetzt bleibt nur noch das Problem mit dem Arbeitsspeicher.. :?:
-
hast du dem doker container 16 gb zugewiesen (was totaler quatsch währe) oder dynamisch zuteilen lassen
-
Kann es sein, dass man den Befehl "exec" und oder "wget" innerhalb des buanet Containers per iobroker Skript nicht aufrufen kann?
Ich habe mir immer per Sript mittels des exec Befehls ein Standbild von meiner Webcam geholt auf /opt/iobroker/Cache/bild.jpg.
Muss der Pfad vielleicht anders angegeben sein in einer Dockerumgebung?
-
Hast Du vorher den Ordner erstellt? (ich nehme an ja, frage aber trotzdem mal nach)
Rechte dann auch vergeben?
Des Weiteren kann ich Dir nur empfehlen das gesammte Dockerverzeichnis von iobroker zu mounten. Macht vieles einfacher
-
Danke für den Hinweis!
Habe es gelöst:
Also: Ich hatte tatsächlich den cache-Ordner nicht erstellt. Ich bin davon ausgegangen er ist "ab Werk" vorhanden.
OK, Ordner erstellt, geht immer noch nicht.
Dann im iobroker Containerterminal ein bisschen gespielt und festgestellt, dass "wget" nicht installiert ist.
Habe dann wget nachinstalliert mit "````
apt update
apt install wgetSeitdem geht es wieder 8-) Mh, aber beim nächsten Containertausch ist das wget wieder weg… :?
-
Ich habe dem ioBoker 4 GB zugeordnet, vorher habe ich diesem nichts zugordnet, und da fing ermit 16 BG an und senkte sich dann …
Nach der Festlegung von 4GB ist dennoch der niedrige Speicher vorhanden...
-
Danke für den Hinweis!
Habe es gelöst:
Also: Ich hatte tatsächlich den cache-Ordner nicht erstellt. Ich bin davon ausgegangen er ist "ab Werk" vorhanden.
OK, Ordner erstellt, geht immer noch nicht.
Dann im iobroker Containerterminal ein bisschen gespielt und festgestellt, dass "wget" nicht installiert ist.
Habe dann wget nachinstalliert mit "````
apt update
apt install wgetSeitdem geht es wieder 8-) Mh, aber beim nächsten Containertausch ist das wget wieder weg… :? `
Du hast sicher auch ne Export Funktion?
Ich exportier mir einen Container immer wenn alles gut läuft….seltenes neu aufsetzen also
-
Aber dann habe ich doch auch den alten Container, oder? Und bei den Einstellungen exportieren wird wget bestimmt nicht mitexportiert?
-
Aber dann habe ich doch auch den alten Container, oder? Und bei den Einstellungen exportieren wird wget bestimmt nicht mitexportiert? `
Ich kann meine Container einzeln exportieren…...also mit Auswahl welchen ich möchte. Ich denke es wird der komplette Container exportiert, also alles was dort gemacht wurde.
Hab ich so noch nie versucht, da mir ein Rückspielen der gesicherten Ordner gereicht hat
-
Muss man wirklich mal durchtesten.
Ich meinte, wenn watchdog mir das Image:latest durch ein aktuelles ersetzt. Ich glaube, man müsste das buanet-Image Forken und das fehlende wget-Paket direkt ins Image einpflanzen. Aber das ist mir zu hoch.
… oder ich baue mir ein Script, welches beim starten von iobroker mit exec wget (drüber-)installiert? Das müsste gehen, oder?
-
Jetzt bleibt nur noch das Problem mit dem Arbeitsspeicher.. :?: `
Das habe ich auch noch nicht gelöst bekommen:
804MB RAM verbraucht / Frei 169 (2%) 15 Prozesse
…obwohl auf der Synology DS218+ noch 8GB RAM frei sind und keine Ressourcenbeschränkung eingestellt wurde.
Hat der Container selbst eine Grenze auf 1GB oder wo ist die eingestellt?
Und kann man die höher setzen?
-
Das habe ich auch noch nicht gelöst bekommen:
804MB RAM verbraucht / Frei 169 (2%) 15 Prozesse
…obwohl auf der Synology DS218+ noch 8GB RAM frei sind und keine Ressourcenbeschränkung eingestellt wurde. `
Ich glaub, da gibt's nichts zu lösen. Mir scheint, der ioBroker erhält im Container einfach nicht die richtigen Speicherwerte. Ich habe z.B. 6 GB auf meiner DS718+ installiert. Das wird so auch im Docker korrekt angezeigt.
Auf der Admin-Oberfläche des ioBroker erhalte ich aber die folgenden Werte angezeigt:
Wenn ich nun noch weitere Adapter installiere, steigt einfach die RAM-Nutzung, ohne dass der freie Speicher deutlich runter geht. Da holt sich der ioBroker dann wohl einfach den benötigten RAM.Ich würde mir da ehrlich gesagt keinen großen Kopf drum machen.
Bis dann,
Thorsten
-
Danke, dann werde ich mal weiter installieren & beobachten.
Coole Admin-Oberfläche für's iPad: Wie kommt man da dran?
Ich habe die "normale" Web-Oberfläche, ist etwas unübersichtlich.
-
Muss man wirklich mal durchtesten.
Ich meinte, wenn watchdog mir das Image:latest durch ein aktuelles ersetzt. Ich glaube, man müsste das buanet-Image Forken und das fehlende wget-Paket direkt ins Image einpflanzen. Aber das ist mir zu hoch.
… oder ich baue mir ein Script, welches beim starten von iobroker mit exec wget (drüber-)installiert? Das müsste gehen, oder? `
Hallo,
am besten einfach mal fragen. Ich kann das Paket mit in den Container nehmen… Darf ich fragen was du mit wget machst?
Die Export-Funktion ist für Container Updates nicht geeignet. Damit wird ja der gesamte Container inklusive allem Inhalt exportiert. Bei einem neuerlichen Import findet also keine Aktualisierung statt.
PS: Sorry falls ich im moment ein bisschen verzögert antworte, aber weil tapatalk nicht mehr geht bekomme ich weder Benachrichtigungen noch kann ich von unterwegs schnell mal meinen Senf dazu geben...
MfG,
André
[EDIT] wget ist drin. Läuft unter Beta. Build ist angestoßen, das neue Image sollte demnächst zur Verfügung stehen.
-
Aber dann habe ich doch auch den alten Container, oder? Und bei den Einstellungen exportieren wird wget bestimmt nicht mitexportiert? `
Ich kann meine Container einzeln exportieren…...also mit Auswahl welchen ich möchte. Ich denke es wird der komplette Container exportiert, also alles was dort gemacht wurde.
Hab ich so noch nie versucht, da mir ein Rückspielen der gesicherten Ordner gereicht hat `
Hallo,
das Exportieren dient maximal zur Datensicherung (auch wenn ich da eine andere Methode bevorzugen würde) nicht aber zum Aktualisieren eines Containers. Siehe dazu auch der Punkt zur Aktualisierung des Containers in der Anleitung.
Zur Aktualisierung gibt es nur zwei Möglichkeiten: Entweder über die Kommandozeile den bestehenden Container hin und wieder updaten (apt-get update, apt-get upgrade) oder ab und an Container löschen, Image updaten, Container neu erstellen (siehe Anleitung).
MfG,
André
-
Danke, andre! Das wäre der Hammer wenn wget mit drin ist! :ugeek:
wget nutze ich in verschiedenen Scripten, um ein Standbild von meiner Webcam D-Link DSC-2332L abzuholen. Das Standbild wird dann innerhalb von 1-2 Sekunden erzeugt und wird dann danach per Telegram an mich verschickt. Auslöser sind verschiedene Sachen, wenn jemand klingelt oder wenn ich es per Telegrambefehl abfordere. Den Code kann ic hgerne mal posten, er müsste aber in den Untiefen des Forums hier schon irgendwo sein (habe ich aber nicht gefunden).
-
Danke, andre! Das wäre der Hammer wenn wget mit drin ist! :ugeek:
wget nutze ich in verschiedenen Scripten, um ein Standbild von meiner Webcam D-Link DSC-2332L abzuholen. Das Standbild wird dann innerhalb von 1-2 Sekunden erzeugt und wird dann danach per Telegram an mich verschickt. Auslöser sind verschiedene Sachen, wenn jemand klingelt oder wenn ich es per Telegrambefehl abfordere. Den Code kann ic hgerne mal posten, er müsste aber in den Untiefen des Forums hier schon irgendwo sein (habe ich aber nicht gefunden). `
Hallo,
Build ist durchgelaufen, also sollte wget ab sofort im neuen Beta-Image drin sein.
Offtopic:
! Ok, ich mache das selbe mit meiner Cam. Allerdings komme ich ohne wget aus. Ich mache das per request. habe ich hier auch irgendwo im Forum gesehen:
var source_url = 'http://xxxx', // Pfad zum Kamerabild dest_path = '/opt/transfer/webcam/'; // Pfad zum Speicherort var request = require('request'); var fs = require('fs');
! ````
function saveImage() {
request.get({url: source_url, encoding: 'binary'}, function (err, response, body) {
fs.writeFile(dest_path + 'kamerabild.jpg', body, 'binary', function(err) { // Dateiname Kamerabild
! if (err) {
log('Fehler beim Bild speichern: ' + err, 'warn');
} else {
log('Webcam Bild gespeichert');
sendImage(dest_path + 'kamearbild.jpg'); // Optional Kamerabild senden, bei mir mit Telegram.
}
});
});
}>! Sind natürlich nur die entsprechenden Codefragmente. Aber so geht es bei mir. :) >! Habe übrigens eine Foscam. MfG, André