172 lines
4.7 KiB
Markdown
172 lines
4.7 KiB
Markdown
# Quick Start
|
||
|
||
---
|
||
|
||
## From Docker Image
|
||
|
||
#### Overview
|
||
HawkBit Update Server default user has **admin/admin** as default credentials.
|
||
See below how the user can be changed.
|
||
|
||
It supports two configurations:
|
||
|
||
- **monolith** – `hawkbit-update-server`
|
||
- **micro-service** – `hawkbit-mgmt-server`, `hawkbit-ddi-server`, `hawkbit-dmf-server`
|
||
|
||
---
|
||
|
||
#### A: Run hawkBit Update Server (Monolith) as Docker Container
|
||
|
||
Start the hawkBit Update Server as a single container:
|
||
|
||
```bash
|
||
$ docker run -p 8080:8080 hawkbit/hawkbit-update-server:latest
|
||
```
|
||
|
||
This will start hawkBit update server with an embedded H2 database for evaluation purposes.
|
||
|
||
---
|
||
|
||
#### B: Run hawkBit Update Server (Monolith) with services as Docker Compose
|
||
|
||
Start the hawkBit Update Server together with a PostgreSQL and RabbitMQ instance as containers:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-monolith-postgres.yml up -d
|
||
```
|
||
|
||
or with MySQL:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-monolith-mysql.yml up -d
|
||
```
|
||
|
||
If you want to start also the Simple UI, you can use, for PostgreSQL:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-monolith-with-simple-ui-postgres.yml up -d
|
||
```
|
||
|
||
or with MySQL:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-monolith-with-simple-ui-mysql.yml up -d
|
||
```
|
||
|
||
> **Note:** `-d` flag is used to run the containers in detached mode.
|
||
> If you want to see the logs, you can remove the flag.
|
||
|
||
---
|
||
|
||
#### C: Run hawkBit Update Server (Micro-Service) with services as Docker Compose
|
||
|
||
Start the hawkBit Update Server together with a PostgreSQL and RabbitMQ instance as containers:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-micro-services-postgres.yml up -d
|
||
```
|
||
|
||
or with MySQL:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-micro-services-mysql.yml up -d
|
||
```
|
||
|
||
If you want to start also the Simple UI, you can use, for PostgreSQL:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-micro-services-with-simple-ui-postgres.yml up -d
|
||
```
|
||
|
||
or with MySQL:
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit/docker
|
||
$ docker-compose -f docker-compose-micro-services-with-simple-ui-mysql.yml up -d
|
||
```
|
||
|
||
> **Note:** `-d` flag is used to run the containers in detached mode.
|
||
> If you want to see the logs, you can remove the flag.
|
||
|
||
---
|
||
|
||
## From Sources
|
||
|
||
#### 1: Clone and build hawkBit
|
||
|
||
```bash
|
||
$ git clone https://github.com/eclipse-hawkbit/hawkbit.git
|
||
$ cd hawkbit
|
||
$ mvn clean install -DskipTests
|
||
```
|
||
|
||
---
|
||
|
||
#### 2: Start hawkBit [Update Server](https://github.com/eclipse-hawkbit/hawkbit/tree/master/hawkbit-monolith/hawkbit-update-server) (Monolith)
|
||
|
||
```bash
|
||
$ java -jar ./hawkbit-monolith/hawkbit-update-server/target/hawkbit-update-server-0-SNAPSHOT.jar
|
||
```
|
||
|
||
> **Note:** you could start it also in **microservices mode** by:
|
||
|
||
```bash
|
||
$ java -jar ./hawkbit-mgmt/hawkbit-mgmt-server/target/hawkbit-mgmt-server-0-SNAPSHOT.jar
|
||
$ java -jar ./hawkbit-ddi/hawkbit-ddi-server/target/hawkbit-ddi-server-0-SNAPSHOT.jar
|
||
$ java -jar ./hawkbit-dmf/hawkbit-dmf-server/target/hawkbit-dmf-server-0-SNAPSHOT.jar
|
||
```
|
||
|
||
And (only if you want to use the DMF feature):
|
||
|
||
```bash
|
||
$ java -jar ./hawkbit-monolith/hawkbit-update-server/target/hawkbit-update-server-0-SNAPSHOT.jar
|
||
```
|
||
|
||
You could also start the **Simple UI** by:
|
||
|
||
```bash
|
||
$ java -jar ./hawkbit-simple-ui/target/hawkbit-simple-ui-0-SNAPSHOT.jar
|
||
```
|
||
|
||
---
|
||
|
||
## Configuration
|
||
|
||
#### Change credentials
|
||
|
||
As stated before, the default user is **admin/admin**.
|
||
It can be overridden by changing the [`TenantAwareUserProperties`](https://github.com/eclipse-hawkbit/hawkbit/blob/master/hawkbit-core/src/main/java/org/eclipse/hawkbit/tenancy/TenantAwareUserProperties.java) configuration using Spring.
|
||
|
||
For instance, using a properties file like:
|
||
|
||
```properties
|
||
# should remove the admin/admin user
|
||
hawkbit.security.user.admin.tenant=#{null}
|
||
hawkbit.security.user.admin.password=#{null}
|
||
hawkbit.security.user.admin.roles=#{null}
|
||
|
||
# should add a hawkbit/isAwesome! user
|
||
hawkbit.security.user.hawkbit.tenant=DEFAULT
|
||
hawkbit.security.user.hawkbit.password={noop}isAwesome!
|
||
hawkbit.security.user.hawkbit.roles=TENANT_ADMIN
|
||
```
|
||
|
||
This will remove the default `admin/admin` user and add a user `hawkbit` with password `isAwesome!` and role `TENANT_ADMIN`.
|
||
|
||
You can create multiple users with specified roles.
|