• Stars
    star
    315
  • Rank 132,951 (Top 3 %)
  • Language
    Shell
  • Created almost 4 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Unofficial, and unmaintained build of proxmox-backup-server

Proxmox Backup Server in a Container

GitHub release (latest by date) GitHub release (latest by date including pre-releases)

Docker Image Version (tag latest semver) Docker Image Version (latest semver)

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.

Buy me a Coffee

Buy Me a Coffee at ko-fi.com

If you found it useful :)

Common problems

  • Some people see authentication failure using admin@pbs: Ensure that /run is mounted to tmpfs which is requirement of 2.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.

Pre-built images

For starting quickly all images are precompiled and hosted at https://hub.docker.com/r/ayufan/proxmox-backup-server.

Or:

docker pull ayufan/proxmox-backup-server:latest

Run

docker-compose up -d

Then login to https://<ip>:8007/ with admin / pbspbs. After that change a password.

Features

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

Changelog

See Releases.

Configure

1. Add to Proxmox VE

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 Fingerprint

2. Add a new directory to store data

Create 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-backups

Then, add a new datastore in a PBS: https://<IP>:8007/.

3. Configure TZ (optional)

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/Warsaw

4. Allow smartctl access

To 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_RAWIO

5. Persist config, graphs, and logs (optional, but advised)

Create 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/lib

Install on bare-metal host

Docker is convienient, but in some cases it might be simply better to install natively. Since the packages are built against Debian Buster your system needs to run soon to be stable distribution.

You can copy compiled *.deb (it will automatically pick amd64 or arm64v8 based on your distribution) from the container and install:

cd /tmp
docker run --rm ayufan/proxmox-backup-server:latest tar c /src/ | tar x
apt install $PWD/src/*.deb

Recompile latest version or master

You can compile latest version or master with a set of commands and push them to the registry.

# build v1.0.5
make all-build VERSION=v1.0.5

# build master
make all-build

# build and push to registry v1.0.5
make all-push VERSION=v1.0.5 REGISTRY=my.registry.com/pbs

# build and push to registry v1.0.5
make all-push REGISTRY=my.registry.com/pbs

# make the given version latest
make all-latest VERSION=v1.0.5

Build on your own

make dev-build

It builds on any platform, which can be: amd64, arm32v7, arm64v8, etc. Wait a around 1-3h to compile.

Then you can push to your registry:

make dev-push

Or run locally:

make dev-shell
make dev-run

You might as well pull the *.deb from within the image and install on Debian Bullseye.

Author

This is just built by Kamil Trzciński, 2020-2023 from the sources found on http://git.proxmox.com/.

More Repositories

1

steam-deck-tools

(Windows) Steam Deck Tools - Fan, Overlay, Power Control and Steam Controller for Windows
C#
723
star
2

gitlab-ci-multi-runner

This repository is a mirror for automated DockerHub builds. Please go to:
Go
366
star
3

pve-patches

Repository with public Proxmox patches
Shell
219
star
4

camera-streamer

High-performance low-latency camera streamer for Raspberry PI's
C
210
star
5

pve-helpers

A set of Proxmox VE scripts that aids with suspend/resume and cpu pinning
Shell
194
star
6

esphome-components

A repository of custom esphome components
C
92
star
7

auto-proxy

Simple Docker-enabled Proxy server with HTTP/2 and automated SSL management using Let's Encrypt
Go
45
star
8

easy-wireguard

An simple bash application to ease the management of WireGuard configuration
Shell
17
star
9

debian-repository

Automatic Debian Repository built on top of GitHub Releases
Go
17
star
10

dokku-alt-phpmyadmin

Example phpmyadmin to be used with dokku-alt
PHP
8
star
11

rosapi-php

RouterOS PHP API class which simplifies configuration update process.
HTML
8
star
12

hackwaw

The apps for Hackwaw
Go
3
star
13

control-msi-rgb

Control MSI Mystic Light and Corsair RGB PRO DDR4
C++
3
star
14

gitlab-mirror-post-fetch

Post fetch app compatible with https://github.com/dustin/gitmirror
Go
2
star
15

sds011

Simple scripts to put SDS011 into sleep and active mode
Python
2
star
16

dokku-alt-strider-cd

Example Dockerfile for gitlab-ci to be used with strider-cd
2
star
17

planujemywesele

Simple application to crawl planujemywesele.pl to find a band, place and photographer
Python
1
star
18

docker-composer

Go
1
star
19

homebrew-taps

My personal Homebrew taps repository
Ruby
1
star
20

auto-stats

Docker Statistics automated to InfluxDB
Go
1
star
21

niimprint-web

A simple Niimbot D11/D110 web tester
JavaScript
1
star