EVerest must be configured with the RpcApi module. The UI backend connects to EVerest through that module.
The project also requires:
- CMake 3.20 or newer
- A C++17 compiler
- Qt 5 or Qt 6 with the components
Core,Network,WebSockets, andDBus yaml-cpp
The project installs three binaries:
apiwebserverwebui
It installs the runtime configuration files into /etc/everest-ui/, the browser assets into /usr/share/everest-ui/public/, and the auth store is created at /var/lib/everest/everest-ui/auth.json.
Example build and install flow:
mkdir -p build
cd build
cmake .. -DEVEREST_UI_QT_VERSION=6
make
make installIf you want to use Qt 5 instead, configure with:
cmake .. -DEVEREST_UI_QT_VERSION=5If CMAKE_INSTALL_PREFIX is not set explicitly, the default install path is:
[project-root]/install
The UI installs its own configuration files to /etc/everest-ui/:
/etc/everest-ui/backend.conf/etc/everest-ui/frontend.conf
The browser assets are installed to /usr/share/everest-ui/public/.
The authentication database is created on first setup at:
/var/lib/everest/everest-ui/auth.json
The EVerest paths are configured in backend.conf.
The following three configuration entries define the paths of the EVerest configuration files:
-
everest_config_pathPoints to the configuration file that EVerest uses. -
everest_base_config_pathPoints to the location where the base configuration created by the UI is saved. This base configuration is then used by EVerest when it is restarted by the UI. -
everest_config_overlay_pathPoints to the location of the configuration file that holds the parameters set with the UI.
Two relevant ports can be specified.
The port for the UI websocket connection is configured in backend.conf.
In frontend.conf, it needs to be ensured that the same backend port is used in the entry backend_ws.
The template for that file is backend/webserver/config/frontend.conf.in. The installed file is created during cmake/make install and placed in /etc/everest-ui/frontend.conf.
The entry port in frontend.conf defines on which port the UI is accessible from the browser.
The UI is started by running the webui binary.
Example:
${prefix}/bin/webuiIf you use the default install prefix, that is:
./install/bin/webuiThe launcher webui starts the helper binaries from ${prefix}/libexec/everest-ui/.
If the systemd service was installed and is not started automatically, it can be started with:
systemctl start webui.serviceThe UI is accessed via the browser using the IP address of the device together with the port specified in /etc/everest-ui/frontend.conf.
Example:
http://<device-ip>:8081/