/bareos

Docker image for BareOS.

Primary LanguageShellISC LicenseISC

docker-bareos License badge Build Status

About

This package provides images for BareOS :

module pulls
Director Docker badge
Storage Daemon Docker badge
Client/File Daemon Docker badge
webUI Docker badge

It's based on Ubuntu Trusty and the BareOS package repository.

BareOS Director also required :

  • PostgreSQL or MySQL as catalog backend
  • SMTP Daemon as local mail router (backup reports)

Each component runs in an single container and are linked together by docker-compose.

👍 Tested with BareOS 16.2

Security advice

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 gets exposed to the BareOS containers.

Setup

docker-compose :

build and run with CircleCI CircleCI

version: '2'
services:
  bareos-dir:
    #image: barcus/bareos-director:pgsql
    image: barcus/bareos-director:mysql
    volumes:
      - <BAREOS_CONF_PATH>:/etc/bareos
    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
      - ADMIN_MAIL=your@mail.address
    depends_on:
      - bareos-db

  bareos-sd:
    image: barcus/bareos-storage
    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
    volumes:
      - <BAREOS_CONF_PATH>:/etc/bareos
    environment:
      - BAREOS_FD_PASSWORD=ThisIsMySecretFDp4ssw0rd

  bareos-webui:
    image: barcus/bareos-webui
    ports:
      - 8080:80
    environment:
      - BAREOS_DIR_HOST=bareos-dir
    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)
  • DB_PASSWORD must be same as BareOS Database section
  • SMTP_HOST is the name of smtp container
  • ADMIN_MAIL is your email address

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_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

⚠️ Remember variables *_HOST must be set with container name

Build

Build your own BareOS images :

git clone https://github.com/barcus/bareos
cd bareos
docker build director-mysql/
docker build storage/
docker build client/
docker build webui/

Build your own Trusty base system image :

git clone https://github.com/rockyluke/docker-ubuntu
cd docker-ubuntu
./build.sh -d trusty

Thanks to @rockyluke :)

Usage

  • WebUI :

Open http://your-docker-host:8080/ in your browser (user: admin / pass: <BAREOS_WEBUI_PASSWORD>)

  • bconsole :

Run docker exec -it bareos-dir bconsole

Links

For more information visit the Github repositories :

My Docker hub :

Enjoy !