Add scheduled and manual backups
Backups are .tar.gz archives of a consistent database snapshot (VACUUM INTO) plus the images folder. They run on a cron schedule, daily at 3:00 by default, and the newest N scheduled ones are kept (7 by default). Manual backups are never pruned. Settings → Backups offers schedule presets or a custom cron expression, retention, "Back up now", and download/delete for each backup. A small built-in parser handles standard 5-field cron syntax with names, ranges, steps and @daily-style shorthands. Backups go to CANON_BACKUP_DIR (default data/backups). Compose mounts a separate canon-backups volume at /backups, overridable with CANON_BACKUP_PATH. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
72b49d709a
commit
f3185ba7bd
18 files changed
+940
-10
No files matched your search
@@ -23,6 +23,11 @@ services:
|
||||
# A named volume by default, so a Git sync never touches the database.
|
||||
# Set CANON_DATA_PATH to a host folder (e.g. ./data) to keep it there.
|
||||
- ${CANON_DATA_PATH:-canon-data}:/data
|
||||
# Backups get their own mount so they can live somewhere else, like a
|
||||
# NAS share. Set CANON_BACKUP_PATH to a host folder to use one.
|
||||
- ${CANON_BACKUP_PATH:-canon-backups}:/backups
|
||||
environment:
|
||||
CANON_BACKUP_DIR: /backups
|
||||
env_file:
|
||||
- path: .env
|
||||
required: false
|
||||
@@ -31,6 +36,7 @@ services:
|
||||
|
||||
volumes:
|
||||
canon-data:
|
||||
canon-backups:
|
||||
|
||||
networks:
|
||||
chromanet:
|
||||
|
||||
Reference in new issue
Block a user