浏览代码

add auto postgress dump docs (#2349)

* add auto postgress dump docs

* add link to repo for auto db dumps

---------

Co-authored-by: Luke McCarthy <mail@lukehmcc.com>
Covalent 2 年之前
父节点
当前提交
b21c99eb12
共有 1 个文件被更改,包括 40 次插入0 次删除
  1. 40 0
      docs/docs/administration/backup-and-restore.md

+ 40 - 0
docs/docs/administration/backup-and-restore.md

@@ -16,6 +16,46 @@ docker exec -t immich_postgres pg_dumpall -c -U postgres | gzip > "/path/to/back
 gunzip < /path/to/backup/dump.sql.gz | docker exec -i immich_postgres psql -U postgres -d immich
 ```
 
+The database dumps can also be automated (using [this image](https://github.com/prodrigestivill/docker-postgres-backup-local)) by editing the docker compose file to match the following:
+```
+container_name: immich_postgres
+    image: postgres:14
+    env_file:
+      - .env
+    environment:
+      POSTGRES_PASSWORD: ${DB_PASSWORD}
+      POSTGRES_USER: ${DB_USERNAME}
+      POSTGRES_DB: ${DB_DATABASE_NAME}
+      PGDATA: /var/lib/postgresql/data
+    volumes:
+      - pgdata:/var/lib/postgresql/data
+      - ./db_dumps:/db_dumps
+    restart: always
+
+  backup:
+    container_name: immich_db_dumper
+    image: prodrigestivill/postgres-backup-local
+    env_file:
+      - .env
+    environment:
+      POSTGRES_HOST: database
+      POSTGRES_DB: ${DB_DATABASE_NAME}
+      POSTGRES_USER: ${DB_USERNAME}
+      POSTGRES_PASSWORD: ${DB_PASSWORD}
+      SCHEDULE: "@daily"
+      BACKUP_NUM_KEEP: 7
+      BACKUP_DIR: /db_dumps
+    volumes:
+      - ./db_dumps:/db_dumps
+    depends_on:
+      - database
+```
+
+Then you can restore with the same command but pointed at the latest dump.
+```bash title='Automated Restore'
+gunzip < db_dumps/last/immich-latest.sql.gz | docker exec -i immich_postgres psql -U postgres -d immich
+```
+
 ## Filesystem
 
 Immich stores two types of content in the filesystem: (1) original, unmodified content, and (2) generated content. Only the original content needs to be backed-up, which includes the following folders: