Beiträge von tuxflo

    Kann ich über den Container Ex- und Import gehen oder bekomme ich dann wieder dieselben Einstellungen für die Fileshares, die aktuell auch laufen? Oder habe ich beim Import nochmal die Chance zur Definition der Freigabeordner?

    Ja das sollte möglich sein. Die Kommandozeilenvariante dazu wäre der Befehl docker commit.

    Die 18.04 scheint endlich Snap Pakete besser zu unterstützen.

    Ist das dein Gefühl oder hast du dafür eine Quelle oder sowas, denn eigentlich sollten snap Pakete auch ohne weiteres unter 16.04 laufen...


    Bleibt die Frage was effizienter ist, Dockerimage oder snap-paket im LXC Ubuntu.

    Wenn du mit LXC Ubuntu die Linux Station meinst, dann ist ein dedizierter Docker Container für Nextcloud effizienter, weil da nur das läuft, was auch wirklich dafür gebraucht wird. Bei der Linux Station kommt ja noch so einiges anderes mit (grafische Benutzeroberfläche, entsprechende Dienste, VNC Server u.s.w.). Es wäre allerdings auch denkbar einen Nextcloud LXC Container zu nutzen, allerdings müsste man da recht viel selbst machen und das ist dann wieder nicht so komfortabel wie Docker.

    Ich persönlich würde mittlerweile dazu raten, statt der Linux Station einen eigenen LXC Container zu nutzen und die nur die benötigten Sachen wie HDMI Zugang bzw. NAS Shrares aus der Linux Station config zu übernehmen. Dann klappt VNC auch problemlos und man muss nicht erst noch den Browser verwenden.

    Ich will dir ungern deine Hoffnung nehmen, aber wenn du dein System bereits normal heruntergefahren und womöglich sogar neugestartet hast (weil das mit der Live CD nicht geklappt hat) dann sind die Daten vermutlich so oder so weg und auch extundelete wird dir da nicht mehr helfen können. Wichtigste Regel beim versehentlichen Löschen von Dateien: ab sofort keine Änderungen mehr am Dateisystem und das ganze System am besten direkt "read only" mounten. Leider gehört das Herunterfahren und Neustarten nicht in die Kategorie "Keine Änderungen am Dateisystem". Eher im Gegenteil. Im Ubuntuusers Wiki git es eine Seite die sich mit Notfällen befasst, viele der dort genannten Sachen gelten für Linux Systeme im allgemeinen.

    Wahrscheinlich kommt die Container Station nicht mit per SSH erstellten Containern zurecht.

    Doch, ich nutze das schon seit der der ersten Version der Container Station und hatte bisher noch keinerlei Probleme. Per ssh via docker run Container erstellt und dann alles weitere (Start/Stop) über die Container Station Web GUI. Ich glaube nicht, dass es daran liegt. Ich vermute eher, dass es daran liegt, dass der Hersteller scheinbar seine eigene Docker Registry betreibt und das möglicherweise nicht von QNAP mit eingeplant wurde...

    Versuch mal ganz am Ende den Namen zu ändern. Mit dem / im Namen wird normalerweise ein Repository wie z.B. dockerhub angegeben. Und das der Container gelöscht wird liegt daran, dass du in deinem Befehl --rm mit drin hast.

    Die superlange Boot-Zeit, die super-super-superlange Zeit für ein Rebuild.

    Also ich weiß ja nicht, wie oft du dein NAS startest, aber bei den meisten wird das wohl eher selten sein und damit sollten diese Zeiten durchaus vertretbar sein. Ich befürchte hier wird man auch mit einem "Standard" Linux nicht wahnsinnig viel schneller sein, wenn es die gleiche Konfiguration mit Freigaben und ähnlichen bietet. Rebuild wird sicherlich durch die Hardware limitiert sein.


    Dann waren da auch noch Probleme mit Portfreigaben und um eigene scripts zu erstellen kann man Stnadrad-Linux glatt vergessen

    Was haben denn Portfreigaben mit dem NAS zu tun? Da musst du dich eher an deinen Router wenden und eingene Skripte kann man sehr wohl betreiben. Dank der Container Station hat man quasi unbegrenzte Möglichkeiten alle nur erdenklichen Sachen laufen zu lassen und wenn es gar nicht anders geht, kannst du immernoch mit ein paar Klicks eine VM auf dem NAS betreiben.

    Ja, sowohl mit Docker (Container Station) als auch mit LXC (Linux Station) ist es möglich USB Geräte an die Container durchzureichen. Dabei kann man entweder einzelne Geräte als "Volume" einhängen oder z.B. über

    Code
    1. docker run -t -i --privileged -v /dev/bus/usb:/dev/bus/usb ubuntu bash

    den gesamten USB Bus an den Container weiterreichen. DIe notwendigen Stichworte für eine Suche sind "docker use USB" oder "LXC mount USB device". Eine "allgemeine" Lösung wird vermutlich nicht so ohne weiteres hier in einem Beitrag zu formulieren sein, da es immer auf die jeweilige Technologie bzw. auf die jeweiligen Geräte ankommt.

    Ich dachte, dass die LinuxStation unter Docker läuft.

    Nein, die Linux Station ist mit einer Docker ähnlichen Containertechnologie namens LXC realisiert. Aber Ob LXC oder Docker macht keinen Unterschied, die Kernelfunktionen werden bei beiden Techniken genutzt. Im Prinzip sollten die jeweiligen Kernel Systemcalls so weit abstrahiert werden, dass auch man auch einen 18.04 Container auf einem 16.04 Host laufen lassen kann, aber scheinbar funktiniert das nicht immer so ohne weiteres. Für was genau brauchst du denn die neuere Version? 16.04 ist eine LTS Version und wird noch ein paar Jahre mit Sicherheitspatches versorgt.

    Also eigentlich bin ich nicht unbedingt der, der für andere die Hausaufgaben erledigt, aber hier ein Dockerfile, welches das benötigte Skript in einem Docker Container ausführen kann. Die notwendigen Schritte es auszuführen:


    1. Container Station installieren

    2. in einem Ordner deiner Wahl das entsprechende Dockerfile erstellen

    3. die letzte Zeile des Skriptes an deine Bedürfnisse anpassen (zur Zeit wird nur der --help Befehl ausgeführt)

    4. Das Image mit dem Befehl docker build . erstellen

    5. Testen ob der Befehl funktioniert docker run <IMAGE-ID>

    6. Falls ja, dann einen cron Job anlegen der den entsprechenden Befehl ausführt

    (7. Falls nicht, dann ggf. nochmal melden und sagen wo es hängt.)


    Hier das Dockerfile:

    Code
    1. FROM alpine:latest
    2. RUN apk add --no-cache python py-pip libxml2 libxml2-dev
    3. RUN apk add --update --no-cache g++ libxslt-dev python-dev
    4. RUn pip install lxml
    5. RUN pip install owi2plex
    6. CMD ["/usr/bin/owi2plex", "--help"]

    Ja die Anleitung ist nicht direkt schlecht, ich würde allerdings bei deinem konkreten Anwendungsfall dazu raten sich mehr mit der offiziellen Docker Dokumentation (oder anderen allgemeinen Docker Tutorials) vertraut zu machen und direkt auf die Verwendung der Kommandozeile gehen, denn es ist eher unwahrscheinlich, dass es schon ein fertiges Image für deine Zwecke gibt (und die verlinkte Anleitung ist eher darauf ausgelegt bereits bestehende Images zu verwenden).

    Hallo tgsbn!


    Zunächst einmal hat mir ein Blick auf meine TS 251+ folgendes mitgeteilt:

    Was so viel heißen soll wie: du könntest das erste Skript vermutlich auch "nativ" betreiben, vorausgesetzt du hast Entware (opkg) auf deinem NAS installiert.

    Für das zweite Skript: git und python gibt es im offiziellen QNAP Appstore, allerdings sind es meist eher "gut abgehangene" Versionen.

    Daher würde ich persönlich, auch wenn ich mich nicht direkt zu der "Expertengemeinde" zählen würde, auch zu einem Container raten. Dort kannst du einfach die Standard tools verwenden (z.B. apt install python-pip und pip install offlineimap) und musst vermutlich keinerlei weitere Anpassungen an deinen eigentlichen Skripten vornehmen (z.B. hat die QNAP Version von curl immer Probleme mit fehlenden Zertifikaten, was in der Verwendung von Skripten problematisch sein kann).

    Wichtig: um den Overhead so gering wie möglich zu halten, würde ich den Container für deinen Anwendungsfall jedoch nicht dauerhaft laufen lassen sondern so bauen, dass der entsprechende Aufruf einfach via docker run CONTAINER erfolgen kann. Das hat den Vorteil, dass du das QNAP eigene cron verwenden kannst und nicht noch dafür Sorge tragen musst, dass der Container sich nicht automatisch beendet (Docker Container beenden sich im Normalfall nach getaner Arbeit).


    Zu der Thematik "ist das Overkill":

    Meiner Meinung nach nicht. Wenn du einen einfachen Container nimmst, sollte der Festplattenplatz noch vertretbar sein (ubuntu liegt bei ~200MB, Alpine bei 5MB). Wenn du es so wie oben beschrieben konfigurierst, hast du sonst keinerlei weitere Resourcen die verwendet werden, zumindest nicht, wenn das Skript inaktiv ist.


    BTW: alle 5 Minuten das Ereignisprotokoll sichern? Für was das denn, willst du deinem ISP nachweisen, dass was mit der Leitung nicht stimmt? Für das Stromsparverhalten der Festplatten im NAS solltest du nochmal überlegen, ob es wirklich soooo oft sein muss.


    Falls du konkrete Hilfe bei der Erstellung des Dockerfiles brauchst, gibt Bescheid :cup:

    Nein mit Dateien an sich kommst du da nicht weiter. Falls ssh auf der Linux Station das Problem ist, kannst du es auch vom NAS versuchen. Kannst du dich den auf dem NAS selbst per ssh (putty) einloggen?

    Falls ja dann schau mal bitte ob der Befehl lxc-ls dir irgendeine Art Ausgabe bringt. Normalerweise sollte da sowas wie "ubuntu-hd" angezeigt werden (so heißt die Linux Station QNAP intern).

    Also falls das Problem tatsächlich mit dem Paket zusammenhängt und die grafische Oberfläche nicht verfügbar ist, muss du wohl oder übel über die Kommandozeile ran. Die einfachste Möglichkeit dafür ist

    1. besorg dir einen SSH Client (oben hast du schon mal WinSCP erwähnt, falls das auch ssh kann nimm das, ansonsten lade dir "Putty" runter
    2. Finde die IP Adresse der Linux Station raus (die steht entweder direkt in der Linux Station GUI oder in deiner Fritzbox
    3. Logge dich per ssh auf der Linux Station mit dem entsprechenden Benutzer (admin + admin Passwort) auf der Linux Station per SSH ein
    4. führe den folgenden Befehl aus um xfce neuzuinstallieren: sudo apt-get install --reinstall xfce4 du wirst durch die Verwendung von sudo nach deinem Passwort gefragt
    5. Warte bis die Installation durch ist, bei Fehlern entsprechende Logs oder Screenshots davon hier ins Forum
    6. Neustart der Linux Station, entweder per sudo reboot oder über die Webgui auf dem NAS

    Danach sollte zumindest die grafische Oberfläche zunächst mal wieder "ganz" sein.

    Linux Station "nur" die Version 16.04, angeboten bekommen habe, habe ich versucht das System auf 18.10 zu aktualisieren. Zwar wird mir das System auch angezeigt, aber die Aktualisierung will einfach nicht anspringen.

    Ich bin mir nicht sicher, aber es kann sein, dass das tatsächlich nicht funktioniert. Bei LXC wird ja der Kernel des Hosts (sprich der QNAP Kernel) verwendet und es kann sein, dass ein neuerer Kernel im "Gast" nicht möglich bzw. kompatibel ist. Bisher konnte ich da noch keine wirklichen Erläuterungen diesbezüglich im Netz finden.

    Ubuntu 16.04 ist aber eine LTS Version und sollte eigentlich auch ohne weiteres funktionstüchtig sein. Auf der offiziellen Seite steht:

    The platform can also run on more classical machines: we provide packages built for Ubuntu 16 and above.

    Also würde ich erstmal die "Standard" Linux Station (Ubuntu 16.04) nehmen ohne noch viel Aufwände in eine Installation zu stecken.