Co-authored-by: dev_agent <17+dev_agent@code.cubecraftcreations.com> Co-committed-by: dev_agent <17+dev_agent@code.cubecraftcreations.com>
33 lines
1.5 KiB
YAML
33 lines
1.5 KiB
YAML
# Litestream continuous backup of the NestQuest SQLite database (Feature
|
|
# 17). The ``litestream`` compose service mounts the same named volume
|
|
# as the API and streams every committed change to the Synology NAS
|
|
# over SFTP, so the backup lives OUTSIDE the container's volume.
|
|
#
|
|
# Nothing here is secret. The SFTP private key is a dedicated,
|
|
# git-ignored keypair (deploy/litestream_key) mounted read-only by
|
|
# compose at /etc/litestream/sftp_key; its public half is in
|
|
# joshua@10.60.1.50:~/.ssh/authorized_keys. ``host-key`` pins the
|
|
# NAS's host key so the connection is verified; it must be the ECDSA
|
|
# key, because that is the algorithm Litestream's SSH client negotiates
|
|
# with this NAS (pinning the ed25519 key fails with "host key mismatch").
|
|
#
|
|
# The Synology SFTP server is chrooted to the shared folders, so the
|
|
# directory seen over SSH as /volume1/homes/Joshua/nestquest-backups is
|
|
# /homes/Joshua/nestquest-backups over SFTP.
|
|
|
|
# Take a full snapshot daily and keep a week of snapshots plus the
|
|
# incremental changes between them (point-in-time restore window).
|
|
snapshot:
|
|
interval: 24h
|
|
retention: 168h
|
|
|
|
dbs:
|
|
- path: /var/lib/nestquest/nestquest.db
|
|
replicas:
|
|
- type: sftp
|
|
host: 10.60.1.50
|
|
user: joshua
|
|
path: /homes/Joshua/nestquest-backups
|
|
key-path: /etc/litestream/sftp_key
|
|
host-key: ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBNujay9nYEiXuRQf4wDRDU1gp+CDvpeMdhuhC2XypIihzKGEtB654kwrUGfA2kDWAoSPGlmojeS3OIRtHPkj6GY=
|