Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ayufan/pve-backup-server-dockerfiles
Unofficial, and unmaintained build of proxmox-backup-server
https://github.com/ayufan/pve-backup-server-dockerfiles
Last synced: 10 days ago
JSON representation
Unofficial, and unmaintained build of proxmox-backup-server
- Host: GitHub
- URL: https://github.com/ayufan/pve-backup-server-dockerfiles
- Owner: ayufan
- Created: 2020-12-07T16:26:13.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-09-14T18:06:14.000Z (about 2 months ago)
- Last Synced: 2024-10-12T16:58:48.301Z (30 days ago)
- Language: Shell
- Size: 124 KB
- Stars: 336
- Watchers: 13
- Forks: 57
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Proxmox Backup Server in a Container
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/ayufan/pve-backup-server-dockerfiles?label=GitHub%20STABLE)](https://github.com/ayufan/pve-backup-server-dockerfiles/releases) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/ayufan/pve-backup-server-dockerfiles?include_prereleases&color=red&label=GitHub%20BETA)](https://github.com/ayufan/pve-backup-server-dockerfiles/releases/latest)
[![Docker Image Version (tag latest semver)](https://img.shields.io/docker/v/ayufan/proxmox-backup-server/latest?label=Docker%20LATEST)](https://hub.docker.com/r/ayufan/proxmox-backup-server/tags) [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/ayufan/proxmox-backup-server?sort=semver&color=red&label=Docker%20BETA)](https://hub.docker.com/r/ayufan/proxmox-backup-server/tags)
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
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 https://github.com/ayufan/pve-backup-server-dockerfiles/pull/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:
```bash
docker pull ayufan/proxmox-backup-server:latest
```## Run
```bash
docker-compose up -d
```Then login to `https://: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](https://github.com/ayufan/pve-backup-server-dockerfiles/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:
```bash
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`:
```yaml
version: '2.1'services:
pbs:
volumes:
- backups:/backupsvolumes:
backups:
driver: local
driver_opts:
type: ''
o: bind
device: /srv/dev-disk-by-label-backups
```Then, add a new datastore in a PBS: `https://: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`:
```yaml
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`:
```yaml
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`:
```yaml
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:```bash
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
Refer to [PROCESS.md](PROCESS.md).
## Build on your own
Refer to [PROCESS.md](PROCESS.md).
## Author
This is just built by Kamil Trzciński, 2020-2023
from the sources found on http://git.proxmox.com/.