Bareos WebUI Vue
The Vue-based Bareos WebUI is a new single-page application located in
webui-vue/.
It was introduced as a technical preview in Bareos 25.1.
Starting with Bareos 26, it is the default interface selected by the
bareos-webui package name. The classic PHP-based
Bareos Webui remains available separately.
Coexistence with the classic WebUI
The current Bareos documentation distinguishes between two WebUI variants:
Bareos Webui documents the classic PHP-based WebUI.
This page documents the Vue-based WebUI.
The two interfaces are designed to exist in parallel. In a typical Apache deployment they use separate URLs:
classic WebUI:
/bareos-webuiVue WebUI:
/bareos/
The Apache configuration redirects / and the former
/bareos-webui-new/ URL to /bareos/.
The Vue WebUI uses the same Bareos Director console concepts as the classic
WebUI, so user access still depends on properly configured
Console (Dir) resources and matching ACLs.
Architecture overview
The Vue WebUI consists of:
the static SPA bundle installed below
/usr/share/bareos-webui-vuean Apache configuration that exposes the bundle below
/bareos/the bareos-webui-proxy service, which accepts both HTTP session requests and WebSocket connections and forwards them to the Bareos Director
The default Apache configuration proxies both /bareos/ws and
/bareos/api/ to bareos-webui-proxy on port 9104.
The HTTP endpoints are used for session login, restore, and logout, while the
WebSocket endpoint is used for the interactive director connection.
By default, bareos-webui-proxy starts without an explicit config
file. If /etc/bareos-webui-proxy/bareos-webui-proxy.ini exists, it is
loaded. Otherwise built-in defaults are used.
The package ships a default template
bareos-webui-proxy.ini in the Bareos config template directory
(for example /usr/lib/bareos/defaultconfigs/), so administrators can
copy and adapt it into /etc/bareos-webui-proxy/ when needed.
When --config is used explicitly, the given file must exist.
Installation and access
The Vue WebUI is installed separately from the classic PHP WebUI via the
bareos-webui-vue package, which provides bareos-webui, and keeps
its own Apache configuration file bareos-webui-vue.conf.
The classic PHP WebUI package is named bareos-webui-php; its URL and
installation directory remain unchanged.
After installation, open the WebUI at:
https://HOSTNAME/bareos/
To use it successfully, ensure that:
the Vue WebUI bundle is installed
the Apache configuration for
/bareos/is enabledbareos-webui-proxy is installed and running
the HTTP and WebSocket proxy targets on port 9104 are reachable from Apache
suitable Bareos Director console credentials exist
HTTPS configuration
Use HTTPS before transmitting console credentials or backup data.
On Debian-based systems the packages enable Apache’s default SSL site when
no HTTPS virtual host exists. On SUSE systems they reuse an existing HTTPS
virtual host or complete default certificate pair. Otherwise they create a
dedicated self-signed pair at /etc/apache2/ssl.crt/bareos-webui.crt
and /etc/apache2/ssl.key/bareos-webui.key, referenced by
/etc/apache2/vhosts.d/_bareos-webui-default-ssl.conf.
Existing hostname-prefixed certificates and CA keys are not replaced.
The automatically generated certificate is self-signed and will not normally be trusted by browsers. Replace it with a certificate trusted by your users, or configure an administrator-managed HTTPS virtual host or reverse proxy. Ensure the certificate matches the hostname used to access the WebUI and verify HTTPS access before enabling HTTP-to-HTTPS redirects.
HTTP access is not automatically disabled or redirected to HTTPS. Both WebUIs show a warning on insecure HTTP connections. Configure HTTPS enforcement at the web server or reverse proxy according to your site’s policy; the warning is not a substitute for transport encryption.
Upgrading from Bareos 25
The package rename uses Bareos 25.1.3 as a bridge release.
The PHP rename must be available in that release before this upgrade path
can be used: first upgrade Bareos 25 to 25.1.3 or later and verify that
bareos-webui-php is installed, then upgrade to Bareos 26.
The bridge’s bareos-webui compatibility package depends on the renamed
PHP package. Keep it installed during the upgrade, particularly on Debian
systems where its dependency prevents PHP from becoming automatically
removable. It contains no PHP application code.
On Debian-based systems the old bareos-webui-new preview package
becomes a transitional package depending on bareos-webui-vue.
On RPM-based systems the Vue package replaces the old preview package.
Installed PHP and Vue interfaces can therefore be retained independently.
A fresh Bareos 26 installation of bareos-webui selects only Vue.
Do not assume that a direct upgrade from an earlier Bareos 25 release will
preserve the PHP WebUI automatically. If you skip the bridge release, back up
your WebUI configuration, explicitly install bareos-webui-php as part
of the upgrade, and verify both the retained configuration and PHP access
before removing legacy packages.
Configuring multiple directors
By default, bareos-webui-proxy connects to a single local Director. To make multiple Directors selectable in the WebUI, copy the shipped config template into place and add one section per Director:
cp /usr/lib/bareos/defaultconfigs/bareos-webui-proxy.ini \
/etc/bareos-webui-proxy/bareos-webui-proxy.ini
Then edit /etc/bareos-webui-proxy/bareos-webui-proxy.ini:
[listen]
address = localhost
port = 9104
[bareos-dir]
address = localhost
[site-b]
address = dr.example.com
director_name = bareos-dir
Each section name (e.g. bareos-dir, site-b) is shown as a selectable
Director in the WebUI login and scope menu.
Set director_name only when the real Bareos Director name differs from the
section name — this is the name the Director announces in its greeting banner.
After changing the config, restart the proxy:
systemctl restart bareos-webui-proxy
Once logged in to multiple Directors, the scope menu at the top of the page allows switching between them or viewing data from all Directors at once.
[listen] section options
Option |
Default |
Description |
|---|---|---|
|
|
Address the proxy binds to. |
|
|
Port the proxy listens on. |
|
|
Minimum log level: |
|
|
Minutes of inactivity before a session is invalidated. |
|
|
Maximum session lifetime in hours regardless of activity. |
|
|
Maximum concurrent connections that have not yet completed login. |
[<director>] section options
Option |
Default |
Description |
|---|---|---|
|
|
Hostname or IP address of the Bareos Director. |
|
|
Port the Bareos Director listens on. |
|
(section name) |
Real Director name as announced in the greeting banner. Set this when the section name differs from the Director name. |
|
|
Set to |
What is already available
The Vue WebUI covers important day-to-day workflows, including:
login with Bareos console credentials
dashboard views
job overview and job details
restore workflows, including plugin restore options
client, fileset, schedule, storage, and volume views
Director status and message views
a console popup for command execution
multi-director capable views where supported by the page
Known differences and current limitations
Compared to the classic PHP WebUI, the Vue WebUI should currently be viewed as a parallel implementation under active development.
Important differences are:
documentation and operational guidance are still catching up
some workflows are intentionally presented differently than in the classic WebUI instead of being a 1:1 port
the Vue WebUI depends on bareos-webui-proxy, which is a separate runtime component
the classic WebUI can remain available while Vue workflows are evaluated
When to use which WebUI
Use the classic PHP WebUI when:
you want the long-established PHP WebUI
your operations depend on currently documented production procedures
you prefer the most conservative choice
Use the Vue WebUI when:
you want to evaluate the new interface
you want to use Vue workflows alongside or instead of the classic UI
For now, the recommended approach is to keep both interfaces available and let users compare them against their operational needs.
Further information
For developer-oriented details, see WebUI Vue.