Files
hawkbit/docker
Denislav Prinov 9f7ca0a3ed hawkBit MCP server (#2871)
* hawkBit MCP server

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Fix STDIO authentication support. Change license headers. Inline Docker build

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Address PR review: refactor operation DTOs to sealed interfaces, make authentication validator conditional, and separate HTTP/STDIO client configurations

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Address PR review. Provide More context in tools description.

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

* Address PR Review

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>

---------

Signed-off-by: Denislav Prinov <denislav.prinov@bosch.com>
2026-02-05 16:06:50 +02:00
..
2026-02-05 16:06:50 +02:00
2025-11-19 15:44:15 +02:00

hawkBit Docker

Overview

This folder contains example Docker build and Docker Compose files to build and start the hawkBit as monolith or as microservices.

Build

You could build the hawkbit Docker images following the README.md instructions.

Start

You can start hawkbit as a Docker Container (only monolith) or with Docker Compose

A: Docker Container (only as monolith)

Note: You need to have Docker installed on your machine.

Start the hawkBit Update Server (monolith) as a single container (with embedded H2, if you configure a different database, e.g. MySQL or PostgreSQL, you should start it separately):

$ docker run -d -p 8080:8080 hawkbit/hawkbit-update-server:latest

B: Docker Compose

Note: You need to have Docker Compose installed on your machine.

Start the hawkBit Update Server (monolith) together with an MySQL and RabbitMQ instance as containers (Requires Docker Compose to be installed)

$ docker compose -f mysql/docker-compose-monolith-mysql.yml up

With the upper command CTRL+C shuts down all services. Add '-d' at the end to start all into detached mode:

$ docker compose -f mysql/docker-compose-monolith-mysql.yml up -d

Then stop all services with:

$ docker compose -f mysql/docker-compose-monolith-mysql.yml down

You could, also start it in different flavours, with UI or in microservices mode (see Docker Compose files in mysql and postgres folders). For instance to start with PostgreSQL, with RabbitMQ, in microservices mode and with UI you could use:

$ docker compose -f postgres/docker-compose-micro-services-with-ui-postgres.yml up

Access

Service / Container URL Login A B
hawkBit Update Server http://localhost:8080/ admin:admin
MySQL localhost:3306/hawkbit root
RabbitMQ http://localhost:15672 guest:guest

Configuration

You can override application.properties by setting an environment variable SPRING_APPLICATION_JSON to the hawkbit container, e.g.:

hawkbit:
    image: "hawkbit/hawkbit-update-server:latest"
    environment:
      SPRING_APPLICATION_JSON: '{
        "spring.datasource.url": "jdbc:mariadb://mysql:3306/hawkbit",
        "spring.rabbitmq.host": "rabbitmq",
        "spring.rabbitmq.username": "guest",
        "spring.rabbitmq.password": "guest",
# should remove default admin/admin user
        "hawkbit.security.user.admin.tenant": "#{null}",  
        "hawkbit.security.user.admin.password": "#{null}",  
        "hawkbit.security.user.admin.roles": "#{null}",
# should add hawkbit/isAwesome! user        
        "hawkbit.security.user.hawkbit.tenant": "DEFAULT",
        "hawkbit.security.user.hawkbit.password": "{noop}isAwesome!",
        "hawkbit.security.user.hawkbit.roles": "TENANT_ADMIN" 
      }'