Files
hawkbit/site/content/guides/runhawkbit.md
Avgustin Marinov cd2c68081f Refactor RabbitMQ configuration (#2519)
Signed-off-by: Avgustin Marinov <Avgustin.Marinov@bosch.com>
2025-06-30 15:50:30 +03:00

3.8 KiB

title, parent, weight
title parent weight
Run hawkBit Guides 31

In this guide we describe how to run a full-featured hawkBit setup based on a production ready infrastructure. It is based on the hawkBit example modules and update server.

{{% note %}} The update server can in fact be run stand alone. However, only with an embedded H2, no Device Management Federation API and no artifact storage. {{% /note %}}

System Architecture

This guide describes a target architecture that you will probably expect in a production system.

For testing, demonstration or integrations purposes you could also use hawkBit SDK:

Prerequisites

Adapt hawkBit Update Server and Device Simulator to your environment.

As mentioned you can create your own application with hawkBit inside or adapt the existing example app. The second option will be shown here.

Configure MariaDB/MySQL connection settings.

For this you can either edit the existing application.properties or create a new profile.

spring.jpa.database=MYSQL
spring.datasource.driverClassName=org.mariadb.jdbc.Driver
spring.datasource.url=jdbc:mariadb://localhost:3306/<YOUR_SCHEMA>
spring.datasource.username=<YOUR_USER>
spring.datasource.password=<YOUR_PWD>

Configure RabbitMQ connection settings for services (optional for monolith single host deployments).

We provide already defaults that should work with a standard Rabbit installation (spring boot RabbitProperties defaults). Otherwise, configure the following in the application.properties of the services:

spring.rabbitmq.host=<Rabbit MQ host>
spring.rabbitmq.port=<Rabbit MQ port>
spring.rabbitmq.virtualHost=<virtual host to be used>
spring.rabbitmq.username=<YOUR_USER>
spring.rabbitmq.password=<YOUR_PWD>

Adapt hostnames of demo simulator

Should only be necessary if your system does not run on localhost or uses a different port than the example app.

Adapt application.properties or pass system / env variables for Spring properties:

hawkbit.server.mgmtUrl=<MGMT server host:MGMT port>
hawkbit.server.ddiUrl=<DDI server host:DDI port>

Compile & Run

Compile & Run your "production ready" app

see update server

Note: you have to log into update server (e.g. via UI) before starting device / device simulator. Then hawkBit creates the mandatory tenant metadata.

Compile & Run demo simulator (optional)

see demo simulator

login into either Management API (which is done by this client).

Enjoy hawkBit with a real database, artifact storage and all interfaces available