]> Untitled Git - lemmy.git/commitdiff
Adding docs for DB Backup / Restore. Fixes #619
authorDessalines <tyhou13@gmx.com>
Fri, 3 Apr 2020 18:37:44 +0000 (14:37 -0400)
committerDessalines <tyhou13@gmx.com>
Fri, 3 Apr 2020 18:37:44 +0000 (14:37 -0400)
docs/src/SUMMARY.md
docs/src/about_goals.md
docs/src/administration_backup_and_restore.md [new file with mode: 0644]

index 70c423c7920f953f167b73a72bae6f3e7bb9aaf2..bff5cbf64f9b07c2fe9d6b69a33554b899f3ce45 100644 (file)
@@ -10,6 +10,7 @@
   - [Install with Ansible](administration_install_ansible.md)
   - [Install with Kubernetes](administration_install_kubernetes.md)
   - [Configuration](administration_configuration.md)
+  - [Backup and Restore](administration_backup_and_restore.md)
 - [Contributing](contributing.md)
   - [Docker Development](contributing_docker_development.md)
   - [Local Development](contributing_local_development.md)
index caa6948a0b040e5e7896e6c566c3d3bbf62d1f8b..e0427481c1dfe7912763d8d0d8eb71bbef922fee 100644 (file)
@@ -51,3 +51,4 @@
 - [Activitypub implementers guide](https://socialhub.activitypub.rocks/t/draft-guide-for-new-activitypub-implementers/479)
 - [Data storage questions](https://socialhub.activitypub.rocks/t/data-storage-questions/579/3)
 - [Activitypub as it has been understood](https://flak.tedunangst.com/post/ActivityPub-as-it-has-been-understood)
+- [Asonix http signatures in rust](https://git.asonix.dog/Aardwolf/http-signature-normalization)
diff --git a/docs/src/administration_backup_and_restore.md b/docs/src/administration_backup_and_restore.md
new file mode 100644 (file)
index 0000000..fe97cf8
--- /dev/null
@@ -0,0 +1,44 @@
+# Backup and Restore Guide
+
+## Docker and Ansible
+
+When using docker or ansible, there should be a `volumes` folder, which contains both the database, and all the pictures. Copy this folder to the new instance to restore your data.
+
+### Incremental Database backup
+
+To incrementally backup the DB to an `.sql` file, you can run: 
+
+```bash
+docker exec -t FOLDERNAME_postgres_1 pg_dumpall -c -U lemmy >  lemmy_dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql
+```
+### A Sample backup script
+
+```bash
+#!/bin/sh
+# DB Backup
+ssh MY_USER@MY_IP "docker exec -t FOLDERNAME_postgres_1 pg_dumpall -c -U lemmy" >  ~/BACKUP_LOCATION/INSTANCE_NAME_dump_`date +%Y-%m-%d"_"%H_%M_%S`.sql
+
+# Volumes folder Backup
+rsync -avP -zz --rsync-path="sudo rsync" MY_USER@MY_IP:/LEMMY_LOCATION/volumes ~/BACKUP_LOCATION/FOLDERNAME
+```
+
+### Restoring the DB
+
+If you need to restore from a `pg_dumpall` file, you need to first clear out your existing database
+
+```bash
+# Drop the existing DB
+docker exec -i FOLDERNAME_postgres_1 psql -U lemmy -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;"
+
+# Restore from the .sql backup
+cat db_dump.sql  |  docker exec -i FOLDERNAME_postgres_1 psql -U lemmy # restores the db
+
+# This also might be necessary when doing a db import with a different password.
+docker exec -i FOLDERNAME_postgres_1 psql -U lemmy -c "alter user lemmy with password 'bleh'"
+```
+
+## More resources
+
+- https://stackoverflow.com/questions/24718706/backup-restore-a-dockerized-postgresql-database
+
+