Im Falle eines Datenverlustes oder einer korrupten Datenbank ist es notwendig ein Backup wieder einzuspielen. Immich legt standardmäßig täglich einen so genannten Dump der Datenbank im Ordner "library/backups" an, welches ein komplettes Backup der Datenbank widerspiegelt.
Sofern sich auch der Bestand an Fotos und Videos in Immich verändert hat, muss selbstverständlich auch der Datenordner für das Wiederherstellen eines Backups wiederhergestellt werden. In diesem Beitrag fokussiert ich mich jedoch auf das Wiederherstellen des Dumps.
Entpacke das .gz-Archiv, um direkt an die .sql-Datei zu gelangen.
Die Container von Immich können ruhig laufen, lediglich immich_server muss beendet werden:
docker compose stop immich_server
Starte, sofern gestoppt, den Datenbank-Container:
docker compose up -d immich_postgres
Kopiere nun den SQL-Dump in den Datenbank-Container:
docker cp /Pfad/zur/Dumpdatei.sql immich_postgres:/immich_backup.sql
Begib dich nun in diesen Container:
docker exec -it immich_postgres bash
Führe folgenden SQL-Befehl aus, um die Datenbank zurückzuspielen:
psql -U postgres -d postgres < /immich_backup.sql
Der Vorgang kann je nach Größe der Datenbank einige Minuten dauern. Ist er abgeschlossen, kannst du den Datenbank-Container verlassen:
exit
Starte nun wieder den Container immich_server:
docker compose up -d immich_server
Der Immich-Server fährt nun mit der importierten Datenbank hoch. Du kannst den Dump, den du in den Container kopiert hast, dort auch wieder löschen:
docker exec -it immich_postgres rm /immich_backup.sql
Bei Fragen oder Anregungen freue ich mich natürlich über eure Kommentare.
Über mich
Ich bin Janis (aka. EurenikZ), 26 Jahre alt und komme aus der Nähe von Frankfurt am Main. Ich habe eine abgeschlossene IHK-Ausbildung zum Fachinformatiker für Systemintegration und arbeite als Junior IT-Administrator in einem IT-Systemhaus. Neben meinem IT-Blog beschäftige ich mich viel mit diversen IT-Themen und meinen Webseiten sowie Telegram Bots und biete IT-Dienstleistungen an.