In this guide we describe what the hawkBit UI is and how to run and configure it.
The hawkBit UI is a web application for managing hawkBit in the browser. With it you can work with targets, target filter queries, auto assignments, software modules, distribution sets and rollouts, and change the tenant configuration.
The UI is a separate application. It has no database of its own - everything it shows and changes goes through the hawkBit Management API. So it needs a running hawkBit Update Server (monolith) or hawkBit Management Server (micro-services), and you can do in the UI only what your hawkBit user is permitted to do.
The easiest way is to use one of the Docker Compose files with UI from the
docker folder (*-with-ui-*.yml), for example:
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
$ cd hawkbit/docker
$ docker compose -f postgres/docker-compose-monolith-with-ui-postgres.yml up -dThere are variants for MySQL and PostgreSQL, for monolith and micro-services, with and without a DB init container
(mysql/ and postgres/ folders).
Build hawkBit (see Quick Start), start the hawkBit Update Server and then the UI, pointing it to the Management API:
$ java -jar hawkbit-ui/target/hawkbit-ui-0-SNAPSHOT.jar --hawkbit.server.mgmtUrl=http://localhost:8080Building the UI from sources needs Node.js.
Open http://localhost:8088 in your browser.
Log in with a hawkBit user, for instance the default admin/admin of the hawkBit Update Server. The UI checks the credentials against the Management API and then uses them for all its calls. So, users and their permissions are configured in the hawkBit server, not in the UI (see Authorization).
| Property | Description | Default |
|---|---|---|
server.port (or environment variable PORT) |
Port of the UI | 8088 |
hawkbit.server.mgmtUrl |
URL of the hawkBit Management API | http://localhost:8080 |
hawkbit.server.security.oauth2.client.enabled |
Log in via an OpenID Connect (OIDC) provider | false |
In Docker you can set them with the SPRING_APPLICATION_JSON environment variable, e.g.:
hawkbit-ui:
image: "hawkbit/hawkbit-ui:latest"
environment:
- 'SPRING_APPLICATION_JSON={"hawkbit.server.mgmtUrl": "http://hawkbit:8080"}'
ports:
- 8088:8088Instead of username and password the UI can redirect users to an OpenID Connect provider (e.g. Keycloak, Auth0). See OpenID Connect for the needed UI and server configuration.