This package provides images for Bareos :
module | build | size ubuntu | size alpine | pull |
---|---|---|---|---|
Director | ||||
Storage Daemon | ||||
Client/File Daemon | ||||
webUI |
Images are based on Ubuntu or Alpine, check tags below
π Tested with Bareos 16.2, 17.2, 18.2 and 19.2
- Ubuntu images for Bareos 16 and 17 are based on Xenial
- Ubuntu images for Bareos 18+ are based on Bionic
- Alpine images are available for linux/amd64 and linux/arm64/v8 platform
bareos-director (dir)
19-ubuntu-mysql
,19-ubuntu
,19
,ubuntu
,latest
19-ubuntu-pqsql
18-ubuntu-mysql
,18-ubuntu
,18
18-ubuntu-pgsql
18-alpine-mysql
,18-alpine
,alpine
17-ubuntu-mysql
,17-ubuntu
,17
17-ubuntu-pgsql
17-alpine
16-ubuntu-mysql
,16-ubuntu
,16
16-ubuntu-pgsql
bareos-client (fd) - bareos-storage (sd) - bareos-webui
19-ubuntu
,19
,ubuntu
,latest
18-ubuntu
,18
18-alpine
,alpine
17-ubuntu
,17
17-alpine
16-ubuntu
,16
The default passwords inside the configuration files are created when building the docker image. Hence for production either build the image yourself using the sources from Github.
β Do not use this container for anything else, as passwords get expose to the Bareos containers.
Bareos Director requires :
- PostgreSQL or MySQL as a catalog backend
- SMTP Daemon as mail router (for reporting)
Curently, PostgreSQL is not available on Alpine images.
Bareos Webui requires (Alpine images only) :
- PHP-FPM
Bareos Client (fd) and Storage (sd) have no depencies.
Each component have to run in an single container and must linked together through docker-compose, see exemple below
docker-compose -f /path/to/your/docker-compose.yml up -d
docker-compose files are available for Alpine and Ubuntu based stack:
file | compose | docker | latest build |
---|---|---|---|
alpine-v1/mysql | v3+ | v1.13.0+ | |
alpine-v2/mysql | v3.7+ | v18.06.0+ | |
ubuntu/mysql | v3+ | v1.13.0+ | |
ubuntu/pgsql | v3+ | v1.13.0+ |
Remember to change your mail address in ADMIN_MAIL
and maybe some passwords π
π Those docker-compose file are configured to store data inside
/data/(bareos|mysql|pgsql)
Finaly, when your containers are up and runing access Bareos through
- WebUI :
Open http://your-docker-host:8080
(user: admin / pass: <BAREOS_WEBUI_PASSWORD>
)
- bconsole :
Run docker exec -it bareos-dir bconsole
Build your own docker-compose file with this template :
version: '3'
services:
bareos-dir:
image: barcus/bareos-director:latest #latest dicector+mysql based on ubuntu
volumes:
- <BAREOS_CONF_PATH>:/etc/bareos
- <BAREOS_DATA_PATH>:/var/lib/bareos #required for MyCatalog backup
environment:
- DB_PASSWORD=ThisIsMySecretDBp4ssw0rd
- DB_HOST=bareos-db
- DB_PORT=3306
- BAREOS_FD_HOST=bareos-fd
- BAREOS_SD_HOST=bareos-sd
- BAREOS_FD_PASSWORD=ThisIsMySecretFDp4ssw0rd
- BAREOS_SD_PASSWORD=ThisIsMySecretSDp4ssw0rd
- BAREOS_WEBUI_PASSWORD=ThisIsMySecretUIp4ssw0rd
- SMTP_HOST=smtpd
- [email protected] #optional
- [email protected] # Change me!
depends_on:
- bareos-db
bareos-sd:
image: barcus/bareos-storage:latest
ports:
- 9103:9103
volumes:
- <BAREOS_CONF_PATH>:/etc/bareos
- <BAREOS_BKP_VOLUME_PATH>:/var/lib/bareos/storage
environment:
- BAREOS_SD_PASSWORD=ThisIsMySecretSDp4ssw0rd
bareos-fd:
image: barcus/bareos-client:latest
volumes:
- <BAREOS_CONF_PATH>:/etc/bareos
- <BAREOS_DATA_PATH>:/var/lib/bareos-director #required for MyCatalog backup
environment:
- BAREOS_FD_PASSWORD=ThisIsMySecretFDp4ssw0rd
bareos-webui:
image: barcus/bareos-webui:latest
ports:
- 8080:80
environment:
- BAREOS_DIR_HOST=bareos-dir
- SERVER_STATS=yes #optional enable apache server statistics
volumes:
- <BAREOS_CONF_PATH>:/etc/bareos-webui
bareos-db:
image: mysql:5.6
volumes:
- <DB_DATA_PATH>:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=ThisIsMySecretDBp4ssw0rd
#bareos-db:
# image: postgres:9.3
# volumes:
# - <DB_DATA_PATH>:/var/lib/postgresql/data
# environment:
# - POSTGRES_PASSWORD=ThisIsMySecretDBp4ssw0rd
smtpd:
image: namshi/smtp
Bareos Director (bareos-dir)
<BAREOS_CONF_PATH>
is the path to share your Director config folder from the host side (optional/recommended)<BAREOS_DATA_PATH>
is the path to share your Director data folder from the host side (recommended)- DB_PASSWORD must be same as Bareos Database section
- SMTP_HOST is the name of smtp container
- ADMIN_MAIL is your email address
- SENDER_MAIL is the email address you want to use for send the email (optional, default ADMIN_MAIL value)
Bareos Storage Daemon (bareos-sd)
<BAREOS_CONF_PATH>
is the path to share your Storage config folder from the host side (optional/recommended)<BAREOS_BKP_VOLUME_PATH>
is the path to share your data folder from the host side. (optional)- BAREOS_SD_PASSWORD must be same as Bareos Director section
Bareos Client/File Daemon (bareos-fd)
<BAREOS_CONF_PATH>
is the path to share your Client config folder from the host side (optional/recommended)<BAREOS_DATA_PATH>
is the path to access Director data folder (recommended)- BAREOS_FD_PASSWORD must be same as Bareos Director section
Database MySQL or PostgreSQL (bareos-db)
Required as catalog backend, simply use the official MySQL/PostgreSQL image
<DB_DATA_PATH>
is the path to share your MySQL/PostgreSQL data from the host side
Bareos webUI (bareos-webui)
<BAREOS_CONF_PATH>
is the path to share your WebUI config folder from the host side. (optional)- default user is
admin
*_HOST
must be set with container name
Build your own Bareos images :
git clone https://github.com/barcus/bareos
cd bareos
docker build -t director-mysql:18-alpine director-mysql/18-alpine
docker build -t storage:18-alpine storage/18-alpine
docker build -t client:18-alpine client/18-alpine
docker build -t webui:18-alpine webui/18-alpine
Build your own Xenial base system image :
git clone https://github.com/rockyluke/docker-ubuntu
cd docker-ubuntu
./build.sh -d xenial
Thanks to @rockyluke :)
For more information visit the Github repositories :
My Docker hub :
Enjoy !