Beiträge von tuxflo
-
-
Zusätzlich müsste ich mich um die Updates dieses Containers/DB kümmern, was aktuell das Host System erledigen würde.
Wenn Qnap mit den Aktualisierungen hinterher wäre, dann wäre an dieser Aussage was dran. Ersteres ist aber nicht der Fall...
Die Lösung für "Zusätzlich kümmern" ist ein Tool namens Docker Compose. Damit kannst du ganz einfach Anhängigkeiten zwischen verschiedenen Containern definieren. Ein Beispiel für Nextcloud könnte dann wie folgt aussehen:Code
Alles anzeigenversion: '3.4' volumes: #db: nextcloud: config: services: #db: #image: mariadb #command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW #restart: always #volumes: #- db:/var/lib/mysql #environment: #- MYSQL_ROOT_PASSWORD=Local_Nextcloud_r00t! #- MYSQL_PASSWORD=Local_Nextcloud! #- MYSQL_DATABASE=nextcloud #- MYSQL_USER=nextcloud redis: image: redis:alpine restart: always app: image: nextcloud ports: - 8888:80 volumes: - "./data:/var/www/html" - "./config:/config" depends_on: - redis
Das wäre die Konfiguration für Nextcloud mit Redis und (hier auskommentiert) einer mysql Datenbank. Um alle erforderlichen Container zu updaten (also nextcloud, MySQL und Redis) reicht ein einfaches docker-compose down um die Dienste zu stoppen, gefolgt von docker-compose pull um die Sachen zu aktualisieren. Die so erstellten Compose Container werden sogar in der Container Station als "App" angezeigt und lassen sich darüber verwalten.
-
Hast du den Befehl nur falsch kopiert oder ist da tatsächlich ein "\" vor dem Image Name? Falls ja, könnte das schon mal eine Fehlerquelle sein.
-
Für LXC oder für Wireguard?
Ich denke für beide Sachen sollten sich Tutorials per Google Suche finden lassen. Ich persönlich hatte für Wireguard folgende Anleitung benutzt: https://www.stavros.io/posts/how-to-configure-wireguard/
-
Ich habe das Paket nie benutzt, da ich das Ganze in einem LXC Container betrieben hatte. Ich gehe mal davon aus, dass du dich, wenn das Kernelmodul geladen wurde, einfach per SSH auf dem NAS einloggen und nach dem Erstellen der Keys die Verbindung starten kannst.
-
Ja, ich frage mich was an der Veröffentlichung so schwer sein kann, dass die das nicht direkt mit machen.
-
Dann kannst du vermutlich das Paket aus dem QNAPclub Store nutzen.
-
UdoA QNAP ist lizenzrechtlich dazu verpflichtet den Code freizugeben, der GPL lizenziert ist. Das ist allerdings nur der Kernel, nicht die gesamte Firmware und ist kein Wunschtraum, bisher haben sie das auch schon getan. Der Code kann von https://sourceforge.net/projects/qosgpl/ herutergeladen werden. Das Problem ist nur, dass sie sich scheinbar ziemlich viel Zeit lassen die Sachen dort zu veröffentlichen.
-
Das funktioniert auch gut, nur wenn ich dann die Webseite des NAS abschalte, schaltet sich auch die Ubuntuwebseite mit Kodi ab.
Was genau ist denn damit gemeint? Welche Ubuntuwebseite meinst du? Falls der VNC Zugriff zum "fernsteuern" gemeint ist: du kannst einfach einen beliebigen VNC Client benutzen um die Linux Station zu steuern und benötigst dafür keine "Webseite". Alternativ könntest du dir z.B. auch in der Linux Station "X2Go" installieren und die Linux Station damit fernsteuern.
-
Harry14 Ich habe es heute tatsächlich nochmal mit einer Userland Implementierung namens "boringtun" versucht und bisher läuft das Ganze schon mal ganz gut. Die Freigabe des Kernel Source Codes wäre mir dennoch lieber, schließlich profitiert QNAP ja maßgeblich von Open Source Software und da kann man sich meiner Meinung nach auch ein wenig an die GPL Spielregeln halten. Ein entsprechendes Ticket im Helpdesk wurde übrigens ohne jegliche Antwort geschlossen.
-
Hallo elgreco29
Welches App Center meinst du denn? Denn im offiziellen QNAP App Center kann ich bei mir Wireguard nicht entdecken.Wenn du den Community Appstore von Qnapclub.eu meinst, dann kommt es stark darauf an, welche Firmwareversion du auf deinem NAS hast,
denn mit der aktuellsten Firmware wurde die Kernelversion der QTS Systemes auf 4.14.24 angehoben und damit ist weder das Wireguard Modul aus dem Qnapclub store nicht kompatibel. Weiterhin hat QNAP den Quellcode für den aktuellen Kernel noch nicht veröffentlicht, sodass es derzeit ausschließlich möglich ist, das ganze im "Userland" zu betreiben. Ich selbst habe es heute mit Hilfe von "boringtun" und einem LXC Container eingerichtet, aber das ist schon einiges an Konsolen- und Linuxkenntissen erforderlich. -
Hab das hier gefunden: [HowTo] Entware-ng und Linux-Pakete installieren
Da wusel ich mich jetzt mal durch.
Ja das ist genau der richtige Weg. In Entware ist auch tmux enthalten, was mener Meinung nach noch etwas "mächtiger" und moderner ist, als screen.
reptyr konnte ich allerdings nicht ausfindig machen, hier müsstest du das Ganze wohl selbst kompilieren. Ich habe es gerade mal getestet und das funktioniert wunderbar, da reptyr so gut wie keine Abhängigkeiten hat.
Git Repo clonen, ins Verzeichnis wechseln und make aufrufen. (vorher muss natürlich ggf. make und gcc via Entware-ng installiert sein)
Ich habe ein 64Bit NAS, sonst hätte ich dir auch direkt das Binary zukommen lassen können. -
Ich hatte das Kernelmodul direkt laufen und dann mit der Linux Station verwaltet (das ist mit wg-quick einfacher als in den QNAP eigenen Netzwerksachen rumzuhantieren). Usermode Installation hatte ich auch schon mal versucht, habe es aber nicht hinbekommen, da das Tool merkt, dass es auf Linux ausgeführt wird und dann abbricht mit der Meldung man solle doch das Kernelmodul verwenden...
Kernelmodul im Container geht nicht, das ist ja der Sinn eines Containers, dass man den Hostkernel verwendet. VM wäre vielleicht möglich, aber das ist nicht das was ich unter "leichtgewichtiger VPN Lösung" verstehe.
-
Du könntest als Alternative eine "eigene Linux Station" erstellen. Also einen LXC Container, der genau das gleiche macht wie die Linux Station. Dazu einfach die Konfigurationsdateien der originalen Linux Station kopieren und damit einen neuen Container starten.
-
Na toll, ich Depp habe erst das Update gemacht und dann gelesen, dass die Kernelversion angehoben wurde. Da QNAP, mal wieder, noch keinen Quellcode für die aktuelle Kernelversion freigegeben hat, kann ich Wireguard nicht mehr nutzen
-
Mein Tipp: erstmal mit dem grundsätzlichem Konzept von Docker und Containern auseinandersetzen. Die Container Station ist ja nichts anderes als eine Web-UI für Docker und ich denke es hilft ungemein, wenn man sich erstmal mit Docker an sich beschäftigt. Eine gute Quelle um die Konzepte zu lernen ist die offizielle Docker Dokumentation, aber es gibt auch unzählige Youtube Videos die das genau erklären.
Wenn man die Grundkonzepte verstanden hat, wird dann auch schnell klar, was man in der Container Station eintragen muss um die gewünschten Effekte zu erzielen.
-
Warum musst du Handbrake unbedingt direkt auf dem NAS kompilieren? Viel einfacher wäre es, das Tool in einem Container oder der Linux Station zu betreiben. Ich gehe mal davon aus, dass der Compiler auf dem NAS zu alt ist um diese eigenartigen Define Anweisungen verarbeiten zu können.
-
Also ich weiß nicht genau wo dein Fehler liegt, aber hier mal meine Config:
(ich hatte die gleiche Anleitung für meinen DVD Brenner verwendet, mein Container ist eine Art eigene Linux Station, Ubuntu mit HDMI Ausgabe)
Code: config
Alles anzeigenlxc.rootfs = /var/lib/lxc/ubuntu-HDMI/rootfs lxc.mount.entry = proc proc proc nodev,noexec,nosuid 0 0 lxc.mount.entry = sysfs sys sysfs defaults 0 0 lxc.mount.entry = /sys/fs/fuse/connections sys/fs/fuse/connections none bind,optional 0 0 lxc.mount.entry = /sys/kernel/debug sys/kernel/debug none bind,optional 0 0 lxc.mount.entry = /sys/kernel/security sys/kernel/security none bind,optional 0 0 lxc.mount.entry = /sys/fs/pstore sys/fs/pstore none bind,optional 0 0 lxc.mount.entry = /dev/input dev/input none bind,optional,create=dir # qbus lxc.mount.entry = /etc/qbus etc/qbus none bind,optional,create=dir lxc.mount.entry = /share/CACHEDEV1_DATA/.qpkg/container-station/usr/bin/.libs/qbus usr/local/bin/qbus none bind,optional,create=file lxc.mount.entry = /var/run/ var/nas-tmp none bind,create=dir lxc.mount.entry = /mnt/HDA_ROOT/.config/passwd etc/config/passwd none bind,create=file lxc.mount.entry = /mnt/HDA_ROOT/.config/shadow etc/config/shadow none bind,create=file lxc.mount.entry = /mnt/HDA_ROOT/.config/group etc/config/group none bind,create=file lxc.mount.entry = /mnt/HDA_ROOT/.config/def_share.info etc/config/def_share.info none bind,create=file lxc.mount.entry = /mnt/HDA_ROOT/.config/uLinux.conf etc/config/uLinux.conf none bind,create=file lxc.mount.entry = /mnt/HDA_ROOT/.config/qpkg.conf etc/config/qpkg.conf none bind,create=file lxc.mount.entry = /etc/platform.conf etc/platform.conf none bind,optional,create=file lxc.mount.entry = /etc/default_config/uLinux.conf etc/default_config/uLinux.conf none bind,create=file lxc.tty = 0 lxc.pts = 1024 lxc.devttydir = lxc lxc.arch = x86_64 lxc.cgroup.devices.deny = a lxc.cgroup.devices.allow = c *:* m lxc.cgroup.devices.allow = b *:* m lxc.cgroup.devices.allow = c 1:3 rwm lxc.cgroup.devices.allow = c 1:5 rwm lxc.cgroup.devices.allow = c 5:0 rwm lxc.cgroup.devices.allow = c 5:1 rwm lxc.cgroup.devices.allow = c 1:8 rwm lxc.cgroup.devices.allow = c 1:9 rwm lxc.cgroup.devices.allow = c 5:2 rwm lxc.cgroup.devices.allow = c 136:* rwm lxc.cgroup.devices.allow = c 254:0 rm lxc.cgroup.devices.allow = c 10:229 rwm lxc.cgroup.devices.allow = c 10:200 rwm lxc.cgroup.devices.allow = c 1:7 rwm lxc.cgroup.devices.allow = c 10:228 rwm lxc.cgroup.devices.allow = c 10:232 rwm lxc.cgroup.devices.allow = c 14:* rwm # lirc lxc.cgroup.devices.allow = c 249:* rwm # virtualbox lxc.cgroup.devices.allow = c 10:* rwm # graphic driver lxc.cgroup.devices.allow = c 195:* rwm lxc.cgroup.devices.allow = c 226:* rwm lxc.cgroup.devices.allow = c 189:* rwm #0079:0011 lxc.mount.entry = /dev/bus/usb/001/012 dev/bus/usb/001/012 none bind,optional,create=file lxc.mount.entry = /dev/bus/usb/001/010 dev/bus/usb/001/010 none bind,optional,create=file # nvidia GPU lxc.cgroup.devices.allow = c 242:* rwm # cd-rom lxc.cgroup.devices.allow = b 11:* rwm # Network configuration lxc.utsname = ubuntu-HDMI lxc.network.type = veth lxc.network.link = qvs0 lxc.network.flags = up lxc.network.hwaddr = 00:16:3E:6A:72:92 lxc.rootfs.backend = dir lxc.cap.drop = sys_module lxc.cap.drop = mac_admin lxc.cap.drop = mac_override lxc.cap.drop = sys_time lxc.cap.drop = sys_boot lxc.pivotdir = lxc_putold # hook lxc.hook.pre-start = /var/lib/lxc/ubuntu-HDMI/pre-start.sh lxc.hook.pre-mount = /var/lib/lxc/ubuntu-HDMI/pre-mount.sh lxc.autodev = 1 lxc.hook.autodev = /var/lib/lxc/ubuntu-HDMI/autodev.sh lxc.hook.post-stop = /var/lib/lxc/ubuntu-HDMI/post-stop.sh #qconfig lxc.start.auto = 0 lxc.cgroup.devices.allow = c 226:* rwm lxc.cgroup.devices.allow = c 13:* rwm lxc.cgroup.devices.allow = c 14:* rwm lxc.cgroup.devices.allow = c 116:* rwm lxc.cgroup.devices.allow = c 4:* rwm lxc.cgroup.devices.allow = c 81:* rwm lxc.kmsg = 0 #lxc.include = /usr/share/lxc/config/ubuntu.common.conf # Container specific configuration lxc.include = /var/lib/lxc/ubuntu-HDMI/qconfig
Hier noch die qconfig
Code: qconfig[/var/lib/lxc/ubuntu-HDMI] # cat qconfig lxc.cgroup.devices.allow = c 14:* rwm lxc.cgroup.devices.allow = c 116:* rwm lxc.cgroup.devices.allow = c 13:* rwm lxc.cgroup.devices.allow = c 226:* rwm lxc.cgroup.devices.allow = c 4:* rwm lxc.cgroup.devices.allow = c 81:* rwm lxc.cgroup.devices.allow = b 11:* rwm
Innerhalb des Containers rufe ich dann sudo mknod -m 666 /dev/cdrom b 11 0 auf um das Laufwerk im Container verfügbar zu machen. Danach klappt bei mir soweit alles...
-
Täglich war jetzt nur ein Beispiel, aber selbst da finde ich es unsinnig die Platte 22h am Tag laufen zu lassen um mal für 1-2h ein Backup durchzuführen. Daher meine Lösung, Platte via USB Steckdose an -> Backup durchführen -> Platte auswerfen -> USB Steckdose aus.
-
Mavalok2 wenn dem so wäre, wie sollten sie sich die Platten dann am nächsten Tag für das neue Backup wieder einschalten?