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