Mnemosynce¶
Mnemosynce is a backup orchestrator for Linux home servers. It runs a set of rsync tasks defined in a YAML config file, applies a tiered retention policy, syncs everything to a remote machine, and emails you a status report after every run — all from a self-hosted web interface.
-
User guide
Install, configure, and operate Mnemosynce from the web UI. No prior Python knowledge needed.
-
Developer guide
Understand the architecture, extend the code, and contribute. Covers every module, the test suite, and deployment.
How a backup run works¶
Each run executes three steps per configured task, in order:
flowchart LR
A([Source]) -->|rsync| B[Backup\nsnapshot]
B -->|retention\npolicy| C[Prune old\nsnapshots]
C -->|rsync over SSH| D([Remote\nstore])
D --> E{All tasks\ndone?}
E -->|yes| F[Email\nreport]
E -->|no| A
| Step | What happens |
|---|---|
| Backup | rsync from source to a dated snapshot directory, using hard links so unchanged files cost no extra space |
| Retention | Removes snapshots outside the configured window (daily × 7, weekly × 4, monthly × 12, yearly × 5) |
| Sync | rsync the local backup directory to a remote machine over SSH |
After all tasks finish, an HTML email report summarises what succeeded and what failed, with log files attached for any failed steps.
Serving the docs locally¶
Install the docs extra from the project root, then start the live-reload server:
The site is served at http://127.0.0.1:8000 and reloads automatically whenever you save a Markdown file. To produce a static build instead:
Output goes to docs-site/site/.