Skip to content

Commit

Permalink
docs: add docs on restoring to PSQL server (mealie-recipes#1584)
Browse files Browse the repository at this point in the history
* docs: add docs on restoring to PSQL server

* prevent iframe in netlify site
  • Loading branch information
hay-kot authored Aug 20, 2022
1 parent 74548e9 commit 007b861
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 3 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Backups and Restoring

Mealie provides an integrated mechanics for doing full installation backups of the database. Naviate to `/admin/backups` to

- See a list of available backups
- Perform a backups
- Restore a backup

!!! tip
If you're using Mealie with SQLite all your data is stored in the /app/data/ folder in the container. You can easily perform entire site backups by stopping the container, and backing up this folder with your chosen tool. This is the **best** way to backup your data.

## Restoring from a Backup

To restore from a backup it needs to be uploaded to your instance, this can be done through the web portal. On the lower left hand corner of the backups data table you'll see an upload button. Click this button and select the backup file you want to upload and it will be available to import shortly.

Before importing it's critical that you understand the following:

- This is a destructive action and will delete all data in the database
- This action cannot be undone
- If this action is successful you will be logged out and you will need to log back in to complete the restore

!!! warning
Prior to beta-v5 using a mis-matched version of the database backup will result in an error that will prevent you from using the instance of Mealie requiring you to remove all data and reinstall. Post beta-v5 performing a mismatched restore will throw an error and alert the user of the issue.

### Postgres Note

Restoring the Database when using Postgres requires Mealie to be configured with a postgres **superuser** account. This is due to our usage of massive deleting of data in the database and temporarily setting roles to perform the restore. To perform a restoration on Postgres you will need to _temporarily_ set the Mealie user to a superuser account.

```sql
ALTER USER mealie WITH SUPERUSER;

# Run restore from Mealie

ALTER USER mealie WITH NOSUPERUSER;
```

For more information see [GitHub Issue #1500](https://github.com/hay-kot/mealie/issues/1500)
2 changes: 1 addition & 1 deletion docs/docs/overrides/api.html

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions docs/mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,8 @@ nav:
- PostgreSQL: "documentation/getting-started/installation/postgres.md"
- Frontend Configuration: "documentation/getting-started/installation/frontend-config.md"
- Backend Configuration: "documentation/getting-started/installation/backend-config.md"
- Usage:
- Backup and Restoring: "documentation/getting-started/usage/backups-and-restoring.md"

- Community Guides:
- iOS Shortcuts: "documentation/community-guide/ios.md"
Expand Down
8 changes: 8 additions & 0 deletions frontend/pages/admin/backups.vue
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,14 @@
replace them with the contents of this backup. <b> This action cannot be undone - use with caution. </b> If
the restoration is successful, you will be logged out.

<p class="mt-3">
If you are using PostGreSQL, please review the
<a href="https://nightly.mealie.io/documentation/getting-started/usage/backups-and-restoring/"
>backup/restore process in the documentation</a
>
prior to restoring.
</p>

<v-checkbox
v-model="confirmImport"
class="checkbox-top"
Expand Down
10 changes: 8 additions & 2 deletions netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,11 @@ publish = "docs/site/"
command = """
pip3 install mkdocs-material &&
cd docs &&
mkdocs build
"""
mkdocs build
"""

[[headers]]
for = "/*"
[headers.values]
X-Frame-Options = "DENY"
X-XSS-Protection = "1; mode=block"

0 comments on commit 007b861

Please sign in to comment.