Beiträge von lhsei

    Hallo,


    erst einmal: BITTE SOFORT DIE WEITERLEITUNG RAUSNEHMEN! Aktuell steht durch die Weiterleitung Dein NAS relativ offen im Netz!

    Dann bitte Folgendes prüfen:

    1. In der Systemsteuerung die Administrationsports auf die Ports 8080 (http) und 8081 (https) setzen.

    2. internen Webserver des NAS in der Systemsteuerung deaktivieren.

    3. In der Container-Station alle alten Container und Volumes der Nextcloud-AIO entfernen

    4. Wenn alles umgesetzt ist, kannst Du die Weiterleitung auf das NAS wieder aktivieren.

    Wenn ich Dich richtig verstanden habe, möchtest Du keinen Reverse-Proxy nutzen, sondern die Nextcloud als einzige Anwendung auf dem NAS einsetzen.

    Als Erstes auf einer beliebigen Freigabe des NAS eine neue Datei nextcloud_aio.sh mit folgendem Inhalt erzeugen:

    Dann bitte auf dem NAS per SSH einloggen (z.B. mit PuTTY) und dann folgende Befehle ausführen: (hierbei bitte den Platzhalter PFAD_ZUM_ORDNER_MIT_DER_SCRIPTDATEI durch den Pfad des Freigabeordners mit der Scriptdatei ersetzen)

    Code
    cd /share/CACHEDEV1_DATA/PFAD_ZUM_ORDNER_MIT_DER_SCRIPTDATEI
    chmod +x nextcloud_aio.sh
    ./nextcloud_aio.sh

    Nun bitte in Deinem Router die Ports TCP 80, TCP 443, UDP 443, TCP3478 und UDP 3478 auf die IP Deines NAS weiterleiten.

    Jetzt im Browser die Nextcloud-AIO über folgende Adresse aufrufen: https://IP_DES_NAS:9080.

    Passphrase notieren oder sicher abspeichern (z.B. in KeyPassXC).

    DynDNS-Domain eingeben und bestätigen. (Hier muss vorher sichergestellt sein, dass die DynDNS-Domain korrekt auf Deine externe IP auflöst).

    Nun die gewünschten Nextcloud-Bestandteile (Container) auswählen, SPEICHERN und dann die Container starten lassen.

    Nach kurzer Zeit steht die Nextcloud zur Verfügung. Die intialen Anmeldedaten findest Du im oberen Teil der Nextcloud-AIO-Website.

    Hallo,


    wenn der Mastercontainer läuft, kannst Du über die Weboberfläche ganz oben die Logdatei aufrufen. Diese mal bitte hier posten, damit wir gezielt weiterhelfen können.

    Was auf jeden Fall geprüft werden sollte: Der Port 443 ist eigentlich standardmäßig durch die Weboberfläche des NAS belegt. Versuche mal bitte, den APACHE_PORT auf 10000 zu setzen.

    Weiterhin bitte prüfen, ob das Verzeichnis /share/CACHEDEV1_DATA/nextcloud existiert UND die korrekten Rechte gesetzt wurden. Die Rechte müssen über SSH manuell mit folgendem Befehl gesetzt werden:

    sudo chown -R 33:33 /share/CACHEDEV1_DATA/nextcloud

    sudo chmod -R 750 /share/CACHEDEV1_DATA/nextcloud

    Damit die Container starten, muss aber die Prüfung der Domain funktionieren. Wenn Du sagst, dass Du erst einmal nur intern auf die Nextcloud zugreifen möchtest, musst Du in Deinem NAS in der Datei /etc/hosts einen Eintrag für die gewünschte Domain eintragen, der auf die IP Deines NAS verweist. Ansonsten schlägt die Domainprüfung fehl. Besser ist es, einen Reverseproxy (z.B. Caddy) als Container aufzusetzen und in diesem die Bindung der Domain auf den Port 10000 des NAS einzutragen. Dazu müsstest Du aber eine Dyndns-Domain registrieren und entweder in Deinem Router oder Deinem virtuellen Switch auf dem NAS eintragen. Weiterhin muss im Router eine Portfreigabe des EXTERNEN Ports 80 und 443 auf die IP des NAS erfolgen. WICHTIG: Dies erst machen, wenn 100%ig sicher ist, dass auf beiden Ports nur der Caddy-Container lauscht und NICHT das NAS selbst.

    Gern stelle ich Dir zwei yaml-Dateien für die Container-Station zur Verfügung, die Caddy und die Nextcloud-Aio korrekt installieren.

    lass bitte das HDMI- Kabel dran und starte das NAS noch mal neu (ggf. Stecker ziehen und kurz warten). Dann siehst Du als erstes, ob nach dem Einschalten das BIOS angezeigt wird und ob er vom DOM bootet.

    Hallo,


    ich würde das NAS erst einmal per HDMI-Kabel an einem Monitor oder Fernseher anstecken und schauen, welche Meldungen auf der Konsole ausgegeben werden. Man kann dann auch eine USB-Tastatur anstecken und Befehle eingeben.


    Schick bitte mal ein Foto der Ausgaben auf dem Bildschirm.

    Hallo,


    wie sieht denn Deine YAML-Datei aus, die Du zur Installation per Docker verwendet hast? Kannst Du die bitte mal posten (ACHTUNG: bitte Passwörter etc. vorher durch Dummy-Werte ersetzen!).

    Stell mal bitte die YAML von dockhand ein.


    Außerdem: warum willst Du dockhand über caddy extern verfügbar machen? Das ist eine riesen Einladung für Hacker und Angreifer! Solche Werkzeuge gehören ausschließlich ins interne LAN und sollten extern ausschließlich über VPN und die LAN-IP angesprochen werden.

    Hallo,

    ich bringe mal ein bisschen Licht ins Dunkel.

    Der korrekte Befehl lautet:

    docker exec bookstack_db /bin/mariadb-dump -u root --password=DEINDATENBANKPASSWORT DATENBANKNAME> bookstack.sql

    Bitte ersetze die Platzhalter DEINDATENBANKPASSWORT und DATENBANKNAME durch die Werte, die Du in der YAML-Datei bei der Einrichtung von Bookstack hinterlegt hast.

    Dann funktioniert der Caddy-Proxy - herzlichen Glückwunsch!

    Dein Fehlerbild lässt darauf schließen, dass Du in der bookstack-YAML noch die interne IP des NAS im Parameter APP_URL= drin hast.

    Den musst Du natürlich nun in folgenden Eintrag ändern:

    APP_URL=https://DEINE.DYNDNS.ADRESSE/bookstack

    Hallo,

    das mit dem Netzwerk ist falsch. Der Caddy muss ja als Reverse-Proxy gerade direkt auf dem Host laufen, um seine Schutzfunktion ausüben zu können.

    Daher bitte die YAML so wie von mir gepostet verwenden!

    Poste bitte mal Deine komplette YAML-Datei und dann bitte noch einen Screenshot von den angelegten Ordnern und dem Caddyfile, aus denen jeweils der Pfad auf dem NAS ersichtlich ist.

    Hallo,

    ich mal wieder. Ich hatte in unserem anderen Thema schon einmal detailliert beschrieben. Hier noch mal die Zusammenfassung:

    1. in der Conainerstation eine neue Applikation mit folgendem YAML-Code anlegen:

    2. In der Public-Freigabe auf dem NAS einen Ordner caddy anlegen und darin eine Textdatei Caddyfile mit folgendem Inhalt, damit Dein bookstack-Container auch extern bereitgestellt wird:

    Code
    https://DEINE.DYNDNS.ADRESSE:443 {
                handle_path /bookstack* {
                reverse_proxy http://IPADRESSE.DES.NAS:6875
                }                 
        }

    Bitte dann auch noch die Ordner data und config innerhalb des Ordners caddy anlegen.

    Damit der Caddy-Container funktioniert, muss der interne Webserver des NAS abgeschaltet werden, oder die Standardports 80 und 443 auf andere Ports gelegt werden. Aber eigentlich brauchst Du den unsicheren Apache im QTS nicht. Bitte auch schauen, dass der Systemmanagementport des NAS auf 8080 (http) und 8081 (https) steht. Ansonsten belegt dieser nämlich in der Standardeinstellung den Port 443 (https).

    Der Caddycontainer übernimmt das komplette Zertifikatsmanagement mit Letsencrypt und sichert als Reverse Proxy den internen Container zusätzlich ab.

    Was natürlich selbstverständlich sein sollte, dass Du für den Adminzugang von bookstack ein sicheres und komplexes Passwort wählst und zumindest für den Admin-Zugang auch Multifaktor-Authentifizierung aktivierst.

    Mit dem obigen Caddyfile ist bookstack dann unter folgender URL erreichbar: https://DEINE.DYNDNS.ADRESSE/bookstack. Diese Konfiguration hat den Vorteil, dass Du mit Subdirs weitere Dienste unter der gleichen DynDNS-Adresse nutzen kannst, zum Beispiel Nextcloud-AIO.

    Damit das alles funktioniert, musst Du natürlich auch eine DynDNS-Adresse bei einem Anbieter Deiner Wahl registrieren und dann diesen DynDNS-Zugang in Deinem Router (Idealfall) oder im virtuellen Switch des NAS (Alternative) anlegen.

    Im Router muss eine Portweiterleitung der Ports 80 und 443 auf die interne IP-Adresse des NAS eingerichtet werden.

    Deshalb verweise ich noch einmal auf meine obigen Posts.


    Machen wir mal Schritt-für-Schritt:


    1. Neuen Freigabeordner über die Systemsteuerung anlegen. Nennen wir ihn mal bookstack. Auf dem Ordner muss der Admin Schreibrechte haben

    2. In der YAML-Datei folgenden Pfad für die Volumes eingeben - /share/CACHEDEV1_DATA/bookstack/config:/config


    Damit wird der Ordner config des Containers auf die Freigabe bookstack auf dem NAS gemappt. Diese Freigabe kann dann problemlos per HybridBackupSync gesichert werden.

    Dann hast Du Verzeichnisse auf dem NAS gemappt. Wenn Du beim Mapping unterhalb des Volumes-Befehl ./ davor gesetzt hast, werden die Daten unter dem Root-Verzeichnis der Containerstation (standardmäßig /share/Container/) abgelegt. Das ist aber suboptimal - besser sind separate Freigabeordner außerhalb des Pfades der Containerstation.


    Hintergrund:

    Beim Neueinrichten der Containerstation kann es passieren, dass der komplette Inhalt gelöscht wird. Daher immer die Datenverzeichnisse außerhalb des Root-Verzeichnisses der Containerstation ablegen.

    Ich versuche mal, ein bisschen Licht ins Dunkel mit den Volumes zu bringen:


    Es gibt zwei Möglichkeiten, bei Docker Daten außerhalb des Containers zu speichern.


    1. Docker-Volumes:

    Hier werden die Daten in einer Art "Container" abgespeichert und im Dateisystem des NAS ist nur eine Datei (nämlich der Datencontainer) zu sehen. EIn direkter Zugriff auf die Daten innerhalb des Volumes ist nur über Docker-Befehle möglich.

    Gemountet wird so ein Docker-Volume in der YAML-Datei über seinen Namen, z.B.:

    Code
            volumes:
                - ./config:/config

    2. Gemappte Verzeichnisse des Hosts:

    Hier werden die Daten im Dateisystem des Hostsystems gespeichert, dadurch sind im Dateisystem des NAS dann auch alle einzelnen Dateien sichtbar. Es ist theoretisch ein direkter Zugriff auf einzelne Daten direkt mit Mitteln des NAS (z.B. Filestation oder SMB-Freigabe) möglich.

    Gemountet wird so ein Volume mit dem vollständigen Pfad auf dem Host:

    Code
            volumes:
                - /share/CACHEDEV1_DATA/Public/config:/config

    Grundsätzlich ist es so, dass der volumes-Befehl innerhalb der YAML-Datei diese Syntax hat:

    Variante 1:

    - NAME_DES_VOLUMES:MOUNTPOINT_INNERHALB_DES_CONTAINERS

    Variante 2:

    - VOLLSTÄNDIGER_PFAD_AUF_DEM_HOST:MOUNTPOINT_INNERHALB_DES_CONTAINERS

    Für die Datensicherung per HybridBackupSync ist die Variante 2 einfacher, da die Datei im Dateisystem des NAS liegen.


    WICHTIG: Wie ich bereits unter Post #27 geschrieben und verlinkt habe, gehört zu einem vollständigen Backup immer auch die MariaDB-Datenbank! Diese muss über mysqldump exportiert werden, idealerweise auch auf ein gemapptes Verzeichnis des NAS. Nur wenn Daten UND Datenbank-Dump gesichert werden, geht die Wiederherstellung.


    Hier noch mal der Link aus meinem genannten Post:

    Backup and Restore · BookStack

    So, ich hoffe, damit etwas mehr Licht ins Dunkel gebracht zu haben.

    Bei den in Deiner Containerstation als ungenutzt angezeigten Volumes handelt es sich um "echte" Docker-Volumes (Variante 1), die aktuell mit keinem Container mehr verbunden sind. Wahrscheinlich hattest Du erst die Syntax für Docker-Volumes verwendet und jetzt den Container mit gemappten Hostverzeichnissen neu aufgesetzt. Dann bleiben die ursprünglichen Docker-Volumes als ungenutzt zurück. Wenn Du diese nicht mehr benötigst, kannst Du sie mit der Funktion "Bereinigen" (Docker-Befehl prune) löschen lassen.