Restoring Data#
After the smanager program has unlocked the environment variables Restic is able to restore data.
Below are some of the scripts I use to restore data to services.
Every service is a bit different especially with database restores, but below documents the three core services I have.
# Unlock restic backups
/var/lib/nik3sx/smanager/agefile-pass -decrypt -in /var/lib/nik3sx/smanager/env.age -out /var/lib/nik3sx/smanager/env
source /var/lib/nik3sx/smanager/env
restic snapshots
# Restore Vaultwarden
mkdir -p /var/lib/restore_vw
restic restore <snapshot-id> --target /var/lib/restore_vw
cp -r /var/lib/restore_vw/.../vaultwarden/bw-data/* /var/lib/nik3sx/vaultwarden/
kubectl rollout restart deployment vaultwarden
# Restore Kanboard
mkdir -p /var/lib/restore_kb
restic restore <snapshot-id> --target /var/lib/restore_kb
cat /var/lib/restore_kb/.../backup-2026-01-14.sql | kubectl exec -i pods/db-55d74b64-2rqxv -- mariadb -u kb -pkb-secret kanboard
# Restore Firefly_III
mkdir -p /var/lib/restore_f3
restic restore <snapshot-id> --target /var/lib/restore_f3
kubectl create configmap firefly-env --from-env-file=/var/lib/restore_f3/.env -n firefly
kubectl create secret generic firefly-db-env --from-env-file=/var/lib/restore_f3/.db.env -n firefly
cat /var/lib/restore_f3/.../backup-2026-01-14.sql | kubectl exec -i pods/db-55d74b64-2rqxv -- mariadb -u kb -pkb-secret kanboard