Ein Container: dms-komplett¶
Geprüft: automatisch auf amd64 und arm64
dms-komplett startet bei jeder Änderung probehalber auf den Rechnern von GitHub, auf amd64 und arm64. Von einem bestimmten Gerät gibt es noch keine Meldung. Was das heißt, steht unter Geprüfte Plattformen.
Die Alternative zu zwei Containern: ein Container, in dem Ablago und seine Datenbank (PostgreSQL 17) zusammen laufen. Es gibt kein Passwort einzutragen, keinen Datenbank-Container und kein Compose-Projekt, wenn du keines willst. Das Image heißt ghcr.io/motom001/dms-komplett und läuft auf amd64 und arm64.
Empfohlen sind zwei Container
Für den Dauerbetrieb empfehlen wir zwei Container (dms und postgres:17): PostgreSQL bekommt Sicherheits-Updates dann unabhängig von Ablago, und beide lassen sich einzeln betreiben. dms-komplett passt gut zum Ausprobieren und Testen, für Oberflächen, die nur „Container aus Image erstellen“ können, und für Anbieter, die nur einen Container erlauben. Die Gegenüberstellung steht unter Ein oder zwei Container?. Ein Umzug zwischen beiden geht jederzeit über Sicherung und Wiederherstellung, siehe Wachsen und umziehen.
Mit Docker Compose¶
mkdir -p ~/dms && cd ~/dms
curl -fsSLo docker-compose.yml https://raw.githubusercontent.com/motom001/dms/main/deploy/komplett/docker-compose.yml
docker compose up -d
docker compose logs dms | grep -A1 Einrichtungscode
Die Ordner files, geheim, sicherung, postgres und – optional für den Scanner – eingang (Eingangsordner) legt Docker neben der Datei an. Auf einem NAS ersetzt du ./ durch den Pfad deines Ordners, z. B. /volume1/docker/dms/.
Mit docker run¶
docker run -d --name dms --restart unless-stopped --stop-timeout 60 -p 8080:3000 \
-v /pfad/zu/dms/files:/data/files \
-v /pfad/zu/dms/geheim:/data/geheim \
-v /pfad/zu/dms/sicherung:/data/sicherung \
-v /pfad/zu/dms/postgres:/data/postgres \
ghcr.io/motom001/dms-komplett:main
In der Oberfläche eines NAS¶
Synology (Container Manager), UGREEN (Docker), QNAP (Container Station) und Unraid können einen Container direkt aus einem Image erstellen:
- Image
ghcr.io/motom001/dms-komplett:mainherunterladen bzw. als Container anlegen. - Port: lokal
8080→ Container3000. - Ordner: vier Ordner auf dem NAS anlegen und zuordnen –
files→/data/files,geheim→/data/geheim,sicherung→/data/sicherung,postgres→/data/postgres. Optional für den Scanner einen fünften:eingang→/eingang(Eingangsordner). - Neustart-Richtlinie: „immer“ bzw. „unless-stopped“.
- Starten.
Einrichten¶
http://<Gerät>:8080 öffnen. Der Assistent fragt nach dem Einrichtungscode. Er steht im Protokoll des Containers und in der Datei geheim/EINRICHTUNGSCODE. Die Datenbank fragt er nicht ab, sie ist schon angebunden.
So geht es im Assistenten weiter: Wähle Neu einrichten – oder Aus einer Sicherung wiederherstellen, wenn du von einem anderen Gerät umziehst. Dann trägst du den Namen deines Haushalts ein, legst den Administrator und den ersten Benutzer für die Ablage an und bekommst Schlüssel und Notfallblatt. Danach holst du Pakete wie die Texterkennung dazu. Zum Schluss kommt Optionales wie der E-Mail-Versand. Jeder Schritt hat oben rechts ? Hilfe mit Bildern; ausführlich steht alles im Administratorhandbuch.
Hast du schon ein DMS mit zwei Containern, wähle im Assistenten Aus einer Sicherung wiederherstellen und spiel eine Sicherung von dort ein. So ziehst du um, ohne etwas zu verlieren.
Gut zu wissen¶
- Kein Passwort: Die Datenbank ist nur innerhalb des Containers erreichbar. Von außen gibt es keinen Datenbank-Port.
- Ordner: Alle vier müssen auf dem Gerät liegen (Volumes), sonst sind sie beim nächsten Update weg. Der Container richtet die Rechte von
postgresbeim Start selbst. - Stoppen: Beim Stoppen fährt der Container erst Ablago und dann die Datenbank sauber herunter. Gib ihm dafür bis zu einer Minute Zeit (
stop_grace_periodbzw.--stop-timeout). Endet einer der beiden Teile unerwartet, endet der ganze Container, und Docker startet ihn neu. - Updates:
docker compose pull && docker compose up -dbzw. das Image neu ziehen und den Container neu erstellen. Updates von PostgreSQL kommen mit Ablago-Image; Werkbank → Technik zeigt, ob es eines gibt. Mit einer Versionsnummer stattmain, alsoghcr.io/motom001/dms-komplett:<Version>mit einer Nummer aus den Releases, bleibt die Installation auf diesem Release. Mitmainwird PostgreSQL wöchentlich neu gebaut, mit einer festen Version erst mit dem nächsten Release. - Neue PostgreSQL-Hauptversion: Bringt ein künftiges Image eine neue Hauptversion mit (z. B. 18), startet der Container mit der alten Datenbank bewusst nicht und sagt das im Protokoll. Der Umstieg geht dann über Sicherung und Wiederherstellung, siehe Wachsen und umziehen.
- Werkbank → Technik zeigt beim Image „dms-komplett (mit PostgreSQL im Container)“ und bei der Datenbank als Ort „im Container (dms-komplett)“.
- Konsole: Für Notfall und Betrieb gibt es im Container den Befehl
dms, z. B.docker compose exec dms dms hilfe. Siehe Konsole.