Application: Bacula - https://www.bacula.org/
Baculum App - https://www.baculum.app/
Docker Hub: https://hub.docker.com/r/pwa666/bacula-server
Bacula is a client / server backup application.
Baculum is a web application that allows you to easily manage the bacula application.
This container combines these applications to form a backup tool with a graphical interface.
This container can be run in 5 different versions.
Bacula server consists of several components:
storage daemon - responsible for saving backups to disk or removable media (tape)
bacula director - responsible for the entire backup process, contacts agents on client devices, indicates what resources should be backed up, how and where to send them (storage daemon)
file daemon - is a bacula client available for many operating systems, responds to requests from bacula director.
A relational database is necessary, where the bacula stores all information related to the performed backups.
During installation, you can choose Bacula version 9.6 or 11.
Version 9.6 allows you to use the mysql or postgresql database as well as sqlite3.
Version 11 allows you to use the postgresql or sqlite3 database.
The sqlite3-enabled version is not recommended for larger environments, but allows you to run this application without running mysql / postgresql as a separate container or server. If you already have postgresql or mysql running as your VM or docker application, I recommend choosing this version of the application.
If you plan to use the PostgreSQL or MySQL version you should first create an empty database named "bacula", create a password user for that database and grant full privileges to this database for the created user.For mySQL:
CREATE USER 'USERNAME' @ '%' IDENTIFIED BY 'PASSWORD';
CREATE DATABASE bacula;
GRANT ALL PRIVILEGES ON `bacula`. * TO 'USERNAME' @ '%';
create user USERNAME with password 'PASSWORD';
create database bacula encoding 'SQL_ASCII' owner "USERNAME" template = template0;
When running container there is some mandatory environment variables.
Most important is to set up:
SD_Host - should define the IP address at which the Bacula Server will be reachable for computers.
If you are using a bridge network this parameter should be the ip of your UnRAID.
If you set custom bridge, You shuld type in assigned IP.
This variable is passed to the Bacula configuration and later during the backup it is passed to the clients so they can communicate with the Bacula server.
The following are necessary when using an external database (postgreSQL, mySQL)
DB_Host - database ip
DB_Port - database port (could be omitted if default)
DB_User - database user
In addition, there are two important ports that must be exposed:
9095 - Bacula Web
9103 - Bacula Storage
The first allows access to the webUI Baculum App.
The second is used to receive backups by the server from clients / computers.
It can be changed, but you have to change the configuration of Storage Daemon and Bacula Director e.g. via webUI.
I recommend that you leave these ports unchanged.
There are also necessary paths to folders where configuration files, logs and backups will be saved, these variables are transparent in the UnRaid's docker form, I think that they do not need to be described here.
If you have any questions, please ask below.