mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-12-02 09:11:22 +00:00
Adding docs for DB Backup / Restore. Fixes #619
This commit is contained in:
parent
0ca385deaf
commit
522299ea9e
3 changed files with 46 additions and 0 deletions
1
docs/src/SUMMARY.md
vendored
1
docs/src/SUMMARY.md
vendored
|
@ -10,6 +10,7 @@
|
||||||
- [Install with Ansible](administration_install_ansible.md)
|
- [Install with Ansible](administration_install_ansible.md)
|
||||||
- [Install with Kubernetes](administration_install_kubernetes.md)
|
- [Install with Kubernetes](administration_install_kubernetes.md)
|
||||||
- [Configuration](administration_configuration.md)
|
- [Configuration](administration_configuration.md)
|
||||||
|
- [Backup and Restore](administration_backup_and_restore.md)
|
||||||
- [Contributing](contributing.md)
|
- [Contributing](contributing.md)
|
||||||
- [Docker Development](contributing_docker_development.md)
|
- [Docker Development](contributing_docker_development.md)
|
||||||
- [Local Development](contributing_local_development.md)
|
- [Local Development](contributing_local_development.md)
|
||||||
|
|
1
docs/src/about_goals.md
vendored
1
docs/src/about_goals.md
vendored
|
@ -51,3 +51,4 @@
|
||||||
- [Activitypub implementers guide](https://socialhub.activitypub.rocks/t/draft-guide-for-new-activitypub-implementers/479)
|
- [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)
|
- [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)
|
- [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)
|
||||||
|
|
44
docs/src/administration_backup_and_restore.md
vendored
Normal file
44
docs/src/administration_backup_and_restore.md
vendored
Normal file
|
@ -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
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue