#
# Copyright (c) 2018 Bosch Software Innovations GmbH and others
#
# This program and the accompanying materials are made
# available under the terms of the Eclipse Public License 2.0
# which is available at https://www.eclipse.org/legal/epl-2.0/
#
# SPDX-License-Identifier: EPL-2.0
#
version: '3'

include:
  - docker-compose-deps-mysql.yml

services:

  # ---------------------
  # HawkBit DB Init
  # ---------------------
  hawkbit-db-init:
    image: "hawkbit/hawkbit-repository-jpa-init:latest"
    environment:
      - 'HAWKBIT_DB_MODE=migrate'
      - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
      - 'SPRING_DATASOURCE_USERNAME=root'
      - 'AND_THEN=sleep infinity'
    restart: always
    healthcheck:
      test: ["CMD", "pgrep", "sleep"]
      start_period: 30s
      interval: 10s
      retries: 5
      timeout: 60s
    depends_on:
      mysql:
        condition: service_healthy
    labels:
      NAME: "hawkbit-db-init"

  # ---------------------
  # HawkBit service
  # ---------------------
  hawkbit:
    image: "hawkbit/hawkbit-update-server:latest"
    environment:
      - 'PROFILES=mysql'
      - 'SPRING_FLYWAY_ENABLED=false'
      - 'SPRING_DATASOURCE_URL=jdbc:mariadb://mysql:3306/hawkbit'
      - 'SPRING_DATASOURCE_USERNAME=root'
      - 'SPRING_RABBITMQ_HOST=rabbitmq'
      - 'SPRING_RABBITMQ_USERNAME=guest'
      - 'SPRING_RABBITMQ_PASSWORD=guest'
    volumes:
      - artifactrepo:/artifactrepo
    restart: always
    ports:
      - "8080:8080"
    depends_on:
      hawkbit-db-init:
        condition: service_healthy
    labels:
      NAME: "hawkbit"

volumes:
  artifactrepo:
    driver: local