Paperless-ngx mit Docker auf Synology NAS: cannot dereference 'var/lib/mysql/mysql.sock': No such file or directory

Das wäre mir neu, was soll denn anderes als localhost sein?
Den Parameter gibt es noch nicht einmal in der Doku.
Du hast da noch irgendwo einen Fehler. Nur ein Log kann da helfen.

Wo gibst du den Befehl jetzt genau ein?
 
Hier nochmal im Vergleich, der 2. funktioniert :D

Code:
root@homenas:~# docker exec paperless_db mariadb-dump --user=paperless --password='xxx' paperless > /volume1/docker/test.sql
mariadb-dump: Got error: 2002: "Can't connect to server on 'paperless' (115)" when trying to connect
root@homenas:~# docker exec paperless_db mariadb-dump --host=localhost --user=paperless --password='xxx' paperless > /volume1/docker/test.sql
root@homenas:~#
 
Code:
docker exec paperless_db mariadb-dump --user=paperless --password='xxx' paperless > /var/lib/mysql/export/test.sql

Teste das bitte einmal. Achte aber, dass der Ordner "export" in "database" erstellt ist
 
da kommt "/var/lib/mysql/export/test.sql: No such file or directory". export existiert aber in database. Ist diese Pfadangabe nicht beim Host..?
 
Schreibweise und Tippfehler noch einmal überprüft? Notfalls auch den Stack neu gestartet?
Ohne den Unterordner "export" funktioniert das?
Ergänzung ()

Code:
db:
    image: mariadb:11
    container_name: paperless_db
    restart: no
    volumes:
      - /volume1/docker/paperless/database:/var/lib/mysql
    environment:
      MARIADB_HOST: paperless # nicht notwendig
      MARIADB_DATABASE: paperless # kannst du löschen nur für das erstellend er DB
      MARIADB_USER: paperless # kannst du löschen nur für das erstellend er DB
      MARIADB_PASSWORD: ${PAPERLESS_DB_PASSWORD} # kannst du löschen nur für das erstellend er DB
      MARIADB_ROOT_PASSWORD: ${PAPERLESS_ROOT_DB_PASSWORD}
      PGID: 1027
      PUID: 100

Fangen wir einmal an, aufzuräumen. Wenn du magst, kannst du die TZ noch mitgeben, musst es aber nicht!
 
Zuletzt bearbeitet von einem Moderator:
Pfandfinder schrieb:
. Ist diese Pfadangabe nicht beim Host..?
Nein, du führst ja "innerhalb" des dockers aus mit "docker exec mariadb ...", sprich, aus docker "point of view" betrachten ...

Beispiel von hier (mit mariadb 11)

Code:
docker exec mariadb-dump --user=nextcloud --password=nextcloud nextcloud > /config/export/$(date +%Y-%m-%d_%H-%M)_nextcloud.sql

während /config im docker mounted it ...

hier als Beispiel, 1/ Host view, 2/ docker view/ 3/docker view FALSCH

Code:
root@AlsServerII:~# ls -la /mnt/user/appdata/mariadb/export/
total 1350516
drwxrwxrwx 2 nobody users       182 Aug  4 05:25 ./
drwxrwxrwx 8 nobody users       116 Aug  4 05:04 ../
-rw-r--r-- 1 root   root  408277628 Aug  4 05:07 2025-08-04_05-07_nextcloud.sql
-rw-r--r-- 1 root   root     636325 Aug  4 05:09 2025-08-04_05-09_guacamole.sql
-rw-r--r-- 1 root   root  973995144 Aug  4 05:11 2025-08-04_05-10_homeassistant.sql
-rw-r--r-- 1 root   root       4458 Aug  4 05:14 2025-08-04_05-14_grants.sql
-rw-r--r-- 1 root   root        991 Aug  4 05:25 _dump_howto.txt
root@AlsServerII:~# docker exec mariadb ls -la /config/export
total 1350516
drwxrwxrwx 2 abc  abc        182 Aug  4 05:25 .
drwxrwxrwx 8 abc  abc        116 Aug  4 05:04 ..
-rw-r--r-- 1 root root 408277628 Aug  4 05:07 2025-08-04_05-07_nextcloud.sql
-rw-r--r-- 1 root root    636325 Aug  4 05:09 2025-08-04_05-09_guacamole.sql
-rw-r--r-- 1 root root 973995144 Aug  4 05:11 2025-08-04_05-10_homeassistant.sql
-rw-r--r-- 1 root root      4458 Aug  4 05:14 2025-08-04_05-14_grants.sql
-rw-r--r-- 1 root root       991 Aug  4 05:25 _dump_howto.txt
root@AlsServerII:~# docker exec mariadb ls -la /mnt/user/appdata/mariadb/export/
ls: cannot access '/mnt/user/appdata/mariadb/export/': No such file or directory
root@AlsServerII:~#
 
  • Gefällt mir
Reaktionen: Pfandfinder
snoogans schrieb:
Schreibweise und Tippfehler noch einmal überprüft? Notfalls auch den Stack neu gestartet?
Ohne den Unterordner "export" funktioniert das?

Stack gibts in der UI von Container Manager ja nicht, aber die Container neu erstellt habe ich zumindest nicht. ohne export habe ich es noch nicht getestet.

Gibts noch andere Verbesserungsvorschläge für die compose.yaml im allgemeinen?
 
Pfandfinder schrieb:
Stack gibts in der UI von Container Manager ja nicht, aber die Container neu erstellt habe ich zumindest nicht
Das nennt sich im Container Manager "Projekt". Dieses Paperless-Projekt kannst du anhalten und bereinigen, was einem neuen Deploy gleichzusetzen ist.

Pfandfinder schrieb:
Gibts noch andere Verbesserungsvorschläge für die compose.yaml im allgemeinen?
Jupp, ich habe ich Kleinigkeiten gesehen, die mehr oder weniger wichtig oder unwichtig sind.
Erst einmal würde ich das mit Datenbank lösen. Heute Nachmittag dokumentiere ich das noch einmal.
 
Ohne "/export" geht's auch nicht. Aber wie gesagt mein Befehl funktioniert ja, Problem gelöst.
 
@Pfandfinder,

ich habe hier alles einmal nachgestellt und nachgebaut. Die Befehle aus x13 funktionieren ohne Probleme! Zum Testen habe ich die MariaDB wie folgt erstellt:

Code:
services:
  mariadb:
    image: mariadb:11
    container_name: paperless_db
    restart: unless-stopped
    volumes:
      - ./database:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=123456
      - MARIADB_DATABASE=paperless
      - MARIADB_USER=paperless
      - MARIADB_PASSWORD=xxx
Dadurch wird der MariaDB-Container erstellt und eine Datenbank "paperless" mit entsprechenden User und Passwort angelegt. Nach dem einmaligen Ausführen können die Werte: MYSQL_ROOT_PASSWORD, MARIADB_DATABASE, MARIADB_USER und MARIADB_PASSWORD eigentlich entfernt werden. Aber auch ein Belassen wäre kein Problem, dann sind diese Werte u.U. für alle Admin-User sichtbar. Diese Werte sind sowieso in der Datenbank direkt gespeichert.

1754309557445.png

1754309740715.png

Weil der Export zur Datenbank gehört und zur Übersichtlichkeit, legen wir den "export"-Ordner in "database" an. Im "paperless"-Ordner befinden sich noch die anderen gemounteten Ordner der restlichen Container. Nach dem ersten Starten von MariaDB sieht es wie folgt aus:
1754310050185.png

Jetzt erstellen wir eine Aufgabe mit dem Benutzer "root" direkt im Aufgabenplaner:
Code:
docker exec paperless_db mariadb-dump --user=paperless --password=xxx paperless > /volume1/docker/paperless/database/export/$(date +%Y-%m-%d_%H-%M)_paperless-dump.sql

1754310270998.png

Das Intervall musst du selbst festlegen, ist aber für das testen erst einmal irrelevant.

Nach dem manuellen Ausführen der Aufgabe schauen wir uns das Ergebnis an:

1754310692848.png


In der Filestation sieht das so aus:
1754310814627.png


Somit funktioniert alles, wie es soll. Natürlich kann man das auch direkt im Container anstoßen:
Code:
mariadb-dump --user=paperless --password=xxx paperless > /var/lib/mysql/export/$(date +%Y-%m-%d_%H-%M)_paperless-dump.sql

Dazu gehen wir ins Terminal der MariaDB-Container und wählen oben rechts aus "Mit Befehl starten".
Dort tippen wir "sh" ein, um das Terminal zu können:
1754311394336.png

1754311885340.png


Wir wechseln auf "sh" (links in der Leiste) und aktivieren den Einfügemodus mit Strg+A. Danach fügen wir mit Strg+V den kopierten Befehl in das Terminal ein. Jetzt nur noch Enter und der Dump wird erzeugt:
1754311828748.png

Beachte den angepassten Befehl, weil wir uns im Container befinden und nicht im Host-System!

1754311975187.png


Ich hänge hier die Container-Files an. Du musst nur das Archiv entpacken und in /docker auf der DS kopieren. Anschließend nur noch die enthaltene compose.yaml im Container Manager unter Projekt laden, einen Namen vergeben und starten. Da dieses Beispiel auf deinem Container basiert, musst du eine doppelte Namensgebung (Ordner & Container) unbedingt vermeiden und ggf. anpassen!
 

Anhänge

  • Gefällt mir
Reaktionen: Pfandfinder
Zurück
Oben