Sign inSign up

kjake/veeam-backup-repository

By kjake

Updated over 4 years ago

Container for installing Veeam's Data Mover into

Image
2

10K+

kjake/veeam-backup-repository repository overview

Usage

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.

  • Create a ssh key pair, e.g. ssh-keygen -m PEM -t rsa -C "[email protected]" -b 4096
  • Copy over the public key to your NAS/Server.
  • Mount the public key to /root/.ssh/authorized_keys and a folder of your NAS to store your backups outside the container.
  • Expose a port and map it to port 22.
  • Veeam also needs multiple contiguous ports for the Agent to send data through (SSH is only used to run the Veeam agent / data mover)
    • Map a port range and define it in your Veeam backup infrastructure Linux server.
    • Protip: don't use too many ports (start with hundreds instead of thousands), or Docker will suffer.

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

Acknowledgments

  • Thanks to @t3easy for putting this together originally.

Tag summary

Content type

Image

Digest

Size

203.3 MB

Last updated

over 4 years ago

docker pull kjake/veeam-backup-repository