User guide

Design goals

  • each release is pinned to bacula-director specific major version
  • simple is better than complicated
  • inline documentation
  • convention over configuration
  • can act as view interface only (optional configuration functionality)
  • plugin into existing bacula instance
  • total control of bacula through existing bacula api


Almir will install everything inside one directory, which must be empty. Application is meant to be self-contained, meaning no additional administrator is needed besides upgrading to a newer version. Almir should be always installed on a system together with bacula-director.


  • bacula is installed and bacula-director is running
  • installed python2.6 or python2.7
  • using postgresql: make sure postgresql.conf includes a line client_encoding = utf8

Installer (interactive)

Install prerequesities (Debian based):

$ sudo apt-get install git bacula-console python-distribute


Installer will ask you few questions about SQL database and configuration for bconsole.

Install almir (recommended: under same user as bacula):

$ cd /some/empty/directory/to/install/almir/
$ sh -xec "$(wget -O -"

You can continue with configuring Configuring Nginx as frontend.

Configuring Nginx as frontend

You would normally put this in /etc/nginx/sites-enabled/

server {
    listen          80;

    location / {
            proxy_pass http://localhost:2500;

            proxy_set_header  X-Real-IP  $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header  Host $http_host;
            proxy_redirect off;

            # optional authentication - recommended
            auth_basic "Restricted";
            # how to place and write htpasswd:
            auth_basic_user_file htpasswd;


Then run:

$ /etc/init.d/nginx reload

Now try to access

Upgrading to a newer release

Currently it’s best to just reinstall. In future, this will be easy as running a command.

Reporting bugs

  • include bacula-director version, operating system and browser version
  • include screenshot if it provides any information
  • pastebin $ALMIR_ROOT/var/logs/almir-stderr*

Filesystem structure