VRx

Moderators
  • Posts

    103
  • Joined

  • Last visited

Posts posted by VRx

  1. On 4/6/2024 at 10:26 PM, murkus said:

    What would be the best way to start Bacularis from within the container console?

    You can check if docker is showing unhealthy status and try this

     kill $(pidof php-fpm7.4) $(pidof apache2)


    Bacula15 will be available within 1 hour (without s3/amazon plugin yes)
    There is a problem with s3 plugin and AWS plugin need some additional work.
    postgresql13 or above is needed for Bacula15 postgresql edition.

  2. @murkus sorry for the delay in replying.
    There are some known problems with compilation bacula v13.0.4 with S3 driver.
    Bacula released version 15.x
    Added Amazon Cloud driver (in replacement of libS3 cloud driver).
    After the first tests, it doesn't need many changes, but I still want to test the update process to avoid possible problems.

    Please be patient for a moment

  3. Application: Bacula - https://www.bacula.org/
                      Baculum App - https://www.baculum.app/ / Bacularis - https://bacularis.app/
    Docker Hub: https://hub.docker.com/r/pwa666/bacula-server
    GitHub: https://github.com/vrx-666/bacula-server

    Bacula is a client / server backup application.
    Baculum/Bacularis 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' @ '%';
    flush privileges;

    For postgreSQL:

    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
    • DB_Password

    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.

    [ Update 2022.05.30 ]
    End of development for Bacula 9.6 images versions!
    Older versions of the client work well with the newest server version. The last update of the bacula9.6 code was in December 2020.


    [ Update 2022.09.15 ]

    Email notification added.
    If You want Your's bacula could send emails, first of all You should set container hostname!!! Some of email providers could reject email, if sender will not introduce himself. Container hostname should be Your public reverse dns.

    Below You have environment variables that must be set to send bacula messages:
    EMAIL_Recipient - email address where You want bacula send notifications
    SMTP_Host - address of Your email provider's smtp server
    SMTP_Port - Your email provider smtp port (check provider documentation)
    SMTP_User - Email sender login (could be: user@domain or user, check Your email provider documentation)
    SMTP_Password - Password for email sender account SMTP_Port - smtp port for Your email provider smtp server (check provider documentation) - Yes this is ENV Variable not Docker Port
    Additionally, it is possible to set email log path pointing to container path /var/log/exim4

     

    [ Update 2022.10.06 ]

    In the next image update, it will contain postgres client v14.5 (it gives possibility to use a newer version of the postgres server)

     

    [ Update 2024.01.02 ]

    Version 13 available.
    New Web UI interface

    Upgrade from version 11 requires change two params:

    1. "Bacula WEB port" 9095 -> 9097 (container port)
    2. "Baculum config" - path for persistent web configuration:
    there was /etc/baculum inside container at v11, in version 13 there is /etc/bacularis
    Be careful, configurations vary! You cannot map the same host folder for /etc/bacularis that was used for /etc/baculum.
    At the same time, this change forces to create any custom users if you created any in version 11.
    Unraid template will be updated soon, but it not update if You run it before.


    [ Update 2024.01.08 ]

    Postgresql Client v16
    Bacularis/Baculum logs redirected to container (docker) logs - no need to bind path for apache (bacularis/baculum) logs

    • Like 1
  4. Version 13 available.
    Two container configuration changes required:
    1. Bacula WEB Port: container port 9095 should be changed to 9097

    2. Baculum config: container path should be updated /etc/baculum -> /etc/bacularis
    (If You create any additional users for Baculum WEB UI, after update You need to create them again)

    3*. If You prefer to change both container and mapped port 9095:9095 to 9097:9097 WebUI: http://[IP]:[PORT:9095]/ at the Advanced View should be changed to http://[IP]:[PORT:9097]/

    Read Update at the first post.

  5. 13 hours ago, JorgeB said:

    The OOM errors are for the server.

    And ?
    After all, containers don't have their own kernel, so how would they have an oom killer. I do not see the connection. There is a limited ram for the container, the container has reached the limit, the process of this container has been annihilated by the oom-killer, everything was done according to the assumptions of docker.
    Did you find somewhere in the logs that docker daemon was stopped by oom-killer?

  6. 7 hours ago, tuxbass said:

    GUI is rather confusing to me. Is it okay to largely copy the config files over from the old instance?

    So why You are using gui image? Get some bind9 image from docker hub
    You can try to copy config files.

    7 hours ago, tuxbass said:

    There also are multiple db files missing compared to the old version - is this expected? These are files such as db.local, db.127, db.0, db.255

    db.local and db.127 are files for loopback interface

    db.0 and db.255 are for broadcast
    You can create all of them but are not required to run the container, check their contents, you probably don't have entries there.
    Maybe you haven't verified yet, but my image doesn't provide any configuration files or zone files.

    I don't impose any configuration, you can create each zone, including loopback and broadcast, as you wish.

    The named.conf file also doesn't come with the image, it's only created when you click after logging into the GUI.

    7 hours ago, tuxbass said:

    And last, was it your decision to depart from the old convention of splitting named.conf into separate files as

    Bind is very flexible in terms of configuration, you can put the contents of all these files inside named.conf or include hundreds of files if that's more convenient for you.

    Default configuration depends on the webmin, which in this case acts as webUI. I don't remember if the configuration is different for other base images,

    I've made some tests on ubuntu, but alpine linux is much smaller.

    I suppose that the creator of the image you used so far decided for you and used to include several configuration files in his image.

  7. On 4/17/2023 at 4:29 PM, murkus said:

    I would be interested whether anybody else can reproduce this behavior.

     

    I will try to recreate this behavior and try to find the cause

     

     

    On 5/4/2023 at 10:01 AM, bubbadk said:

    did all from post 1.

    using postgresql 15

     

    bacula.png

    There is a clear info, You have some configuration in bacula config files about database, but database looks epmpty (no tables).

    Have you used this image before?

  8. @tuxbass

    there is no simple way to migrate
    1. You should backup Your bind/etc
    2. Run container from my image

    3. Create config from GUI

    4. Create zones

    5. Compare and update configuration in named.conf* files
    6. Copy CONTENT zone files

     

    About Your second question: Host and custom bridge should work properly. Bridge could not work because there is dnsmasq listenning on port 53