This is an unofficial compilation of Proxmox Backup Server to run it in a container for AMD64 and ARM64.
Running in a container might result in some functions not working properly. Feel free to create an issue to debug those.
If you found it useful :)
- Some people see authentication failure using
admin@pbs: Ensure that/runis mounted totmpfswhich is requirement of2.1.x - Some Synology devices use a really old kernel (3.1), for such the #15 is needed, and image needs to be manually recompiled.
For starting quickly all images are precompiled and hosted at https://hub.docker.com/r/ayufan/proxmox-backup-server.
Or:
# Latest stable / release tag
docker pull ayufan/proxmox-backup-server:latest
# Latest pre-release / beta tag
docker pull ayufan/proxmox-backup-server:betaEach GitHub Releases includes the following binary assets:
proxmox-backup-server-*.tgz- contains all archived debian installation files with the./installscriptproxmox-backup-client-*.tgz- contains a statically linked proxmox backup client
wget https://raw.githubusercontent.com/ayufan/pve-backup-server-dockerfiles/refs/heads/main/docker-compose.yml
docker-compose up -dRun beta variant:
wget https://raw.githubusercontent.com/ayufan/pve-backup-server-dockerfiles/refs/heads/main/docker-compose.yml
TAG=beta docker-compose up -dThen login to https://<ip>:8007/ with admin / pbspbs.
After that change a password.
See the example docker-compose.yml.
The core features should work, but there are ones do not work due to container architecture:
- ZFS: it is not installed in a container
- Shell: since the PVE (not PAM) authentication is being used, and since the shell access does not make sense in an ephemeral container environment
- PAM authentication: since containers are by definition ephemeral and no
/etc/configs are being persisted
See Releases.
Since it runs in a container, it is by default self-signed. Follow the tutorial: https://pbs.proxmox.com/docs/pve-integration.html.
You might need to read a PBS fingerprint:
docker-compose exec server proxmox-backup-manager cert info | grep FingerprintCreate a new file (or merge with existing): docker-compose.override.yml:
version: '2.1'
services:
pbs:
volumes:
- backups:/backups
volumes:
backups:
driver: local
driver_opts:
type: ''
o: bind
device: /srv/dev-disk-by-label-backupsThen, add a new datastore in a PBS: https://<IP>:8007/.
If you are running in Docker it might be advised to configure timezone.
Create a new file (or merge with existing): docker-compose.override.yml:
version: '2.1'
services:
pbs:
environment:
TZ: Europe/WarsawTo be able to view SMART parameters via UI you need to expose drives and give container a special capability.
Create a new file (or merge with existing): docker-compose.override.yml:
version: '2.1'
services:
pbs:
devices:
- /dev/sda
- /dev/sdb
cap_add:
- SYS_RAWIOCreate a new file (or merge with existing): docker-compose.override.yml:
version: '2.1'
volumes:
pbs_etc:
driver: local
driver_opts:
type: ''
o: bind
device: /srv/pbs/etc
pbs_logs:
driver: local
driver_opts:
type: ''
o: bind
device: /srv/pbs/logs
pbs_lib:
driver: local
driver_opts:
type: ''
o: bind
device: /srv/pbs/libDocker is convienient, but in some cases it might be simply better to install natively.
You can pull compiled *.deb files from GitHub Releases.
Replace the v4.0.12 with the latest version.
wget https://github.com/ayufan/pve-backup-server-dockerfiles/releases/download/v4.0.12/proxmox-backup-server-v4.0.12-$(dpkg --print-architecture).tgz
tar zxf proxmox-backup-server-*.tgz
proxmox-backup-server-*/installSimilar to server, the client binary is available for various architectures. The arm32 is considered unstable, and should only be able to backup, but likely cannot be used to restore data.
wget https://github.com/ayufan/pve-backup-server-dockerfiles/releases/download/v4.0.12/proxmox-backup-client-v4.0.12-$(dpkg --print-architecture).tgz
tar zxf proxmox-backup-client-*.tgz
proxmox-backup-client-*/proxmox-backup-client.shRefer to PROCESS.md.
This is just built by Kamil Trzciński, 2020-2025 from the sources found on http://git.proxmox.com/.