This folder contains example Docker build and Docker Compose files to build and start the hawkBit as monolith or as microservices.
You could build the hawkbit Docker images following the README.md instructions.
You can start hawkbit as a Docker Container (only monolith) or with Docker Compose
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:latestNote: 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 upWith 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 -dThen stop all services with:
$ docker compose -f mysql/docker-compose-monolith-mysql.yml downYou 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| 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 | ✓ |
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"
}'