Sign inSign up

darkvex/bareos-storage

By darkvex

Updated 3 days ago

Image
0

7.4K

darkvex/bareos-storage repository overview

bareos

License badge Based OS Based OS Badge amd64 Badge arm64 Badge armv7

Container images for running Bareos components with Docker and Docker Compose.

Images

modulebuildubuntu sizealpine sizepull
DirectorActions StatusSize badgeSize badgeDocker badge
Storage DaemonActions StatusSize badgeSize badgeDocker badge
Client/File DaemonActions StatusSize badgeSize badgeDocker badge
Web UIActions StatusSize badgeSize badgeDocker badge
APIActions StatusSize badgeDocker badge

Weekly image builds run from GitHub Actions. Ubuntu images are built for linux/amd64 only. Alpine architecture coverage varies by Bareos version — linux/amd64 is always available, linux/arm64/v8 is available for every Alpine version, and linux/arm/v7 is available for Bareos 23 only:

Bareos versionAlpine baseamd64arm64/v8arm/v7
25Alpine 3.24
24Alpine 3.23
23Alpine 3.21
22 and older

amd64 and, for Bareos 23, arm/v7 install Bareos straight from Alpine's official community repository. arm64/v8 for Bareos 23/24/25 (and arm/v7 for Bareos 24/25, which Alpine's own repository does not publish at all) install a package built by this repo's bareos-alpine-packages/ pipeline — Bareos 24 and 25 hit a real upstream bug on 32-bit ARM that rules out arm/v7 for those two versions regardless of who builds the package; see bareos-alpine-packages/README.md for details.

Supported Tags

bareos-director:

backendtags
PostgreSQL25-ubuntu-pgsql, 25-ubuntu, 25, ubuntu
PostgreSQL24-ubuntu-pgsql, 24-ubuntu, 24
PostgreSQL23-ubuntu-pgsql, 23-ubuntu, 23
PostgreSQL25-alpine-pgsql, 25-alpine, alpine, latest
PostgreSQL24-alpine-pgsql, 24-alpine
PostgreSQL23-alpine-pgsql, 23-alpine
PostgreSQL21-ubuntu-pgsql, 21-ubuntu, 21
PostgreSQL21-alpine-pgsql, 21-alpine
PostgreSQL20-ubuntu-pgsql, 20-ubuntu, 20
PostgreSQL20-alpine-pgsql, 20-alpine
MySQL20-ubuntu-mysql, 20-alpine-mysql

bareos-client, bareos-storage, and bareos-webui:

basetags
Ubuntu 24.0425-ubuntu, 25, ubuntu
Ubuntu 24.0424-ubuntu, 24
Ubuntu 22.0423-ubuntu, 23
Alpine 3.2425-alpine, alpine, latest
Alpine 3.2324-alpine
Alpine 3.2123-alpine
Ubuntu 20.0421-ubuntu, 21, 20-ubuntu, 20
Alpine21-alpine, 20-alpine

bareos-api:

tags
25-alpine
24-alpine, 24, alpine, latest
23-alpine

All api/N-alpine images are built from python:3.14-alpine and install the bareos-restapi PyPI package pinned to that Bareos version; only the latest version (currently 24) also gets the bare 24, alpine, and latest tags.

The api/21-alpine and api/22-alpine directories are present in the source tree but not built or published: those bareos-restapi releases pull in a pydantic version their model code can't parse (fails on import with PydanticSchemaGenerationError), while 23+ import cleanly.

Deprecated Tags

Bareos 22 has been dropped from active maintenance. The tags below remain published and pullable exactly as they are today, but will not be rebuilt, re-tagged, or patched for new CVEs. Use Bareos 23, 24, or 25 for actively maintained images.

imagetags
bareos-director22-ubuntu-pgsql, 22-ubuntu, 22, 22-alpine-pgsql, 22-alpine
bareos-client22-ubuntu, 22, 22-alpine
bareos-storage22-ubuntu, 22, 22-alpine
bareos-webui22-ubuntu, 22, 22-alpine
bareos-apinone — Bareos 22 was never built or published for bareos-api

Version Support

Bareos versionUbuntu imageAlpine imageAPI imageNotes
2525-ubuntu on Ubuntu 24.0425-alpine on Alpine 3.2425-alpineUbuntu from download.bareos.org/current/; Alpine amd64+arm64/v8
2424-ubuntu on Ubuntu 24.0424-alpine on Alpine 3.2324-alpine (latest)Ubuntu from GitHub package release; Alpine amd64+arm64/v8
2323-ubuntu on Ubuntu 22.0423-alpine on Alpine 3.2123-alpineUbuntu from GitHub package release; Alpine amd64+arm64/v8+arm/v7
2222-ubuntu on Ubuntu 22.0422-alpine on Alpine 3.18Deprecated: existing tags remain published but frozen, no further rebuilds or CVE patches (see Deprecated Tags above); bareos-restapi 22.x fails to import (see bareos-api tags above)
2121-ubuntu21-alpineUpstream versioned repo / Alpine package; bareos-restapi 21.x fails to import (see bareos-api tags above)
2020-ubuntu20-alpineLast version with MySQL backend; bareos-restapi was never published for 20

Bareos removed the MySQL catalog backend in version 21. Use director-mysql/* only for Bareos 20 or older and migrate existing MySQL catalogs to PostgreSQL before upgrading past Bareos 20.

Bareos 23 removed the dbdriver directive from the catalog resource. If you are upgrading from Bareos 22 or older, remove any dbdriver = "postgresql" line from /etc/bareos/bareos-dir.d/catalog/MyCatalog.conf before starting the Director. Leaving it in place causes a fatal config error:

bareos-dir: CONFIG ERROR at lib/parse_conf_state_machine.cc:161
Config error: Keyword "dbdriver" not permitted in this resource.

Existing deployments: docker-compose-alpine-pgsql.yml (the default docker-compose.yml target) now pins Bareos 25 rather than 21. If you have an existing, volume-backed deployment from that file still running Bareos 21, pulling the new images and restarting will not auto-migrate your catalog config — the entrypoint's first-run sentinel file (/etc/bareos/bareos-config.control) only unpacks the bundled default config on a genuinely first run, so an existing /data/bareos/config/director volume keeps its Bareos 21 config as-is. You must manually apply any config changes required for the Bareos 21 → 25 jump yourself (including the dbdriver removal above, if not already done) before restarting the Director against the new image.

Package Releases

download.bareos.org/current/ tracks the latest Bareos release and does not provide pinned 23 or 24 Ubuntu repositories. This repo builds pinned .deb packages from upstream Bareos release tags and publishes them as GitHub Release assets.

The Ubuntu 23/24 Dockerfiles consume the package release pkg/bareos-packages-v1:

assetused by
bareos-23-jammy.tar.gz23-ubuntu component images
bareos-24-noble.tar.gz24-ubuntu component images

See bareos-packages/README.md for local package builds and release publishing details.

Setup

Bareos Director requires:

  • PostgreSQL for supported current stacks
  • SMTP relay or webhook notifications for reports

Bareos Web UI requires either its Ubuntu Apache image or, for Alpine stacks, the paired PHP-FPM service used by the compose file.

Bareos Client/File Daemon and Storage Daemon have no external service dependency beyond the Director connection.

Requirements

Usage

Copy .env.dist to .env and change the passwords before production use:

cp .env.dist .env

Start the default stack:

docker compose up -d

Or choose a compose file explicitly:

docker compose -f docker-compose-alpine-pgsql.yml up -d
docker compose -f docker-compose-ubuntu-pgsql.yml up -d

Available compose files:

filebackendstatus
docker-compose-alpine-pgsql.ymlPostgreSQLAlpine example stack
docker-compose-ubuntu-pgsql.ymlPostgreSQLUbuntu example stack
docker-compose-alpine-mysql.ymlMySQLlegacy, Bareos 20 or older, unsupported
docker-compose-alpine-mysql-v2.ymlMySQLlegacy, Bareos 20 or older, unsupported
docker-compose-ubuntu-mysql.ymlMySQLlegacy, Bareos 20 or older, unsupported

The compose examples store data under /data/(bareos|mysql|pgsql).

The three Alpine compose files also run a php-fpm sidecar for the WebUI, pinned to barcus/php-fpm-alpine. This repo doesn't build or publish that image itself; darkvex/php-fpm-alpine (the name a prior repo rename briefly pointed at) does not exist on Docker Hub, so barcus/php-fpm-alpine is the last known-working upstream. It's an unpinned floating tag from a third-party namespace this repo doesn't control — pin it to a digest if you need a reproducible build.

Access

Web UI:

http://your-docker-host:8080

Default user is admin; the password is BAREOS_WEBUI_PASSWORD.

Bareos console:

docker exec -it bareos-dir bconsole

On Bareos 24+ images, BAREOS_WEBUI_PASSWORD is also reused as the Director's own local console password (what bconsole above authenticates with) and its tray-monitor console — those bundled resources ship with an empty password that Bareos now rejects at startup, and there's no separate .env variable for them. Unlike the WebUI's console, which is ACL-restricted (denies .sql, configure, create, delete, purge, etc.), the Director's local console has no ACL — treat this password as a full-privilege credential, not just a WebUI login.

REST API docs:

http://your-docker-host:8000/docs

Prometheus metrics:

http://your-docker-host:9625/metrics

Metrics are provided by bareos_exporter and should be scraped by Prometheus.

Database Migration

Bareos 21 and newer do not ship the MySQL catalog backend. To migrate an existing MySQL catalog, upgrade to Bareos 20 first, then use the database migration compose file to copy the catalog into PostgreSQL.

If the target PostgreSQL database is empty or does not exist, the migration tool creates it. Keep .env available with the required database passwords.

Building Images

Build a specific component/version:

docker build -t bareos-director:24-ubuntu director-pgsql/24-ubuntu
docker build -t bareos-storage:24-ubuntu storage/24-ubuntu
docker build -t bareos-client:24-ubuntu client/24-ubuntu
docker build -t bareos-webui:24-ubuntu webui/24-ubuntu
docker build -t bareos-api:24-alpine api/24-alpine

For Ubuntu 23/24 images, the package release assets must exist before the build can download them.

Tag summary

Content type

Image

Digest

sha256:068039a12

Size

24.2 MB

Last updated

3 days ago

docker pull darkvex/bareos-storage