Folgende Vorgehensweise (ohne dass ich es getestet habe):
Schritt 1: Speicher für Container anlegen
Du erstellst in dem docker-Ordner der DS zwei Unterordner.
->einer mit dem Namen "mariadb"
->einer mit dem Namen "mrbs"
Schritt 2: Berechtigungen für Container
Hier gibt es drei Optionen, letztere ist die sauberste, wenn Option A nicht hinhaut, aber auch etwas aufwändiger.
Option A: Hoffen, dass es einfach so funktioniert
Einige Container haben automatisch Root-Rechte und dürfen somit problemlos in diesen Ordner schreiben.
Somit hat der Container erhöhte Rechte. Potenziell sollte ein Container eigentlich mit so wenig wie möglich Rechten laufen. Wenn es dir egal ist, kannst du aber testweise erstmal diese Option wählen.
Dabei tust du Folgendes: In dem Script, welches du später via Aufgabenplanung ausführen wirst, entfernst du 4 Zeilen. Das sind die Zeilen, die mit "PUID" und "PGID" beginnen.
Option B: Read/Write for everyone
Was hier das potenzielle Sicherheitsproblem ist, brauche ich glaube ich nicht erklären. Zusätzlich kommen die Sicherheitsprobleme aus Option A dazu.
Wenn du diese Option fahren willst, musst du wie bei der Option A die 4 Zeilen aus dem Script löschen.
Du gehst via FileStation mit Rechtsklick auf die Ordner und erteilst für die Gruppe "everyone" Vollzugriff:
Option C: Den Containern den User mitgeben
Folgendermaßen ermittelst du die PIUD/PGID deines Users:
https://mariushosting.com/synology-how-to-find-uid-userid-and-gid-groupid/
Dann ersetzt du jeweils die 4 Zeilen beginnend mit "PUID" und "PGID" aus dem Script mit deinen Werten (also die ZZZZ überschreiben).
Schritt 3: Script anpassen und ausführen
Erstmal das Script:
Bash:
version: "2"
services:
mrbs:
image: dorianim/mrbs:latest
container_name: mrbs
environment:
PUID=ZZZZ
PGID=ZZZZ
DB_HOST=mrbs-db
DB_USER=mrbs-user
DB_PASS=YYYY
DB_DATABASE=mrbs
volumes:
/volume1/docker/mrbs:/config
ports:
8888:8888
restart: unless-stopped
depends_on:
mrbs-db
mrbs-db:
image: mariadb:latest
container_name: mrbs_db
environment:
PUID=ZZZZ
PGID=ZZZZ
MYSQL_ROOT_PASSWORD=AAAA
TZ=Europe/Berlin
MYSQL_DATABASE=mrbs
MYSQL_USER=mrbs-user
MYSQL_PASSWORD=YYYY
volumes:
/volume1/docker/mariadb:/var/lib/mysql
ports:
3306:3306
restart: unless-stopped
Was musst du anpassen?
-einmal die Sache mit PUID/PGID, siehe Schritt 2
-die "YYYY": hier schreibst du ein einigermaßen sicheres Passwort rein. Das muss an beiden Stellen, wo "YYYY" steht, eingefügt werden
-"AAAA": hier ein noch sichereres Passwort. Dies ist sozusagen das Admin-Passwort deiner Datenbank
Was mit dem Script machen:
Du erstellst in der Aufgabenplanung der Systemsteuerung unter DSM eine Aufgabe, die als Benutzer "root" hinterlegt hat und fügst das Script dort ein. Dann führst du die Aufgabe aus und normalerweise sollte es dann schon laufen