Skip to content

Backups

My Setup

Restic Repos

  • Synology is hosting an NFS share called restic, with one subdirectory per restic repo.
    • Each client needs to be specifically added to the NFS permissions list
  • NFS share is mounted in Proxmox host using /etc/fstab1 file.
  • NFS share is passed through to LXC containers using mount points23

    This command modifies the relevant .conf file.

    pct set 101 -mp0 /mnt/restic/zigbee,mp=/mnt/backups # (1)!
    
    1. Adjust this line as needed. 101 is the VMID of the LXC. /mnt/restic/zigbee is the restic repo, and /mnt/backups is where it will be mounted in the LXC.
    Show all mp0 mounts
    $ grep mp0 /etc/pve/lxc/*.conf
    /etc/pve/lxc/104.conf:mp0: /mnt/restic/gitea,mp=/mnt/restic/gitea
    /etc/pve/lxc/107.conf:mp0: /mnt/restic,mp=/mnt/restic
    /etc/pve/lxc/108.conf:mp0: /mnt/restic/appdaemon,mp=/mnt/restic/appdaemon
    /etc/pve/lxc/110.conf:mp0: /mnt/restic/joplin,mp=/mnt/backups
    
  • Behavior is configured with resticprofile

Cronicle command, which uses restic-scripts to stop the docker containers gracefully before backups, and update Loki with the results. Runs over SSH

ssh -tt docker-lxc /root/.pyenv/versions/joplin/bin/python -m restic.backup --tag cronicle --project joplin --services db

Cronicle command, which uses restic-scripts to stop the docker containers gracefully before backups, and update Loki with the results. Runs over SSH

ssh -tt gitea /home/john/.pyenv/versions/gitea/bin/python -m restic.backup --tag cronicle --project gitea --services server,db

Repo contains specific implementation details - not for public

This only has to be run rarely (whenever adding/removing Zigbee devices)

Mounted under /mnt/backups

Same as others, but done manually with a similar command

Techniques

Proxmox

Restic