NOTE: As of Veeam v11, this is only supported on 64-bit Linux OS
Prepare your NAS/Server: Install Docker, create a shared folder for the backups.
ssh-keygen -m PEM -t rsa -C "your.email@example.com" -b 4096
/root/.ssh/authorized_keys
and a folder of your NAS to store your backups outside the container.Normal SSH as PID1 command - will work, but fails to install Veeam 11's Data Mover service - which is needed for Immutable Repos:
docker run -d \
-p 2222:22 \
-p 2900-3000:2900-3000 \
--name veeam \
--restart always \
-v $PWD/veeam.pub:/root/.ssh/authorized_keys \
-v /mnt/vol/backups:/veeam \
kjake/veeam-backup-repository:latest
OR
Systemd as PID1 command - which also exposes 6162 for the Data Mover service and allows the Data Mover service to install correctly. SSH still runs via Systemd. Note that this adds SYS_ADMIN capability to this container, which does open the host to risk, but is necessary for this to work. NOTE: This will only work if the underlying Docker Host also uses Systemd.
See CAP_SYS_ADMIN in the man page: https://man7.org/linux/man-pages/man7/capabilities.7.html
docker run -d \
-p 2222:22 \
-p 6162:6162 \
-p 2900-3000:2900-3000 \
--name veeam \
--restart always \
--cap-add SYS_ADMIN \
-v $PWD/veeam.pub:/root/.ssh/authorized_keys \
-v /mnt/vol/backups:/veeam \
-v /sys/fs/cgroup/:/sys/fs/cgroup/:ro \
kjake/veeam-backup-repository:latest /sbin/init