OpenHAB Usability - Can we use Docker script similar than Openhabian?

All possible Docker platforms

I just would like to raise the idea for increasing the OpenHAB usability.
Is it maybe possible that we can get an official script, YAML or how ever it is called, what would allow us to setup OpenHAB similar than Openhabian in a Docker environment?
I’m just struggling (and sure not only me) setting up Openhab in a Docker container already when trying to identify the necessary add-ons.
There is so much you need to know that it is almost impossible when not being a specialist.
Trying to setup Mosquitto is already a pain cause no template for that … and so on.

Sustaining member CPlant was sharing a few days ago his way of setting-up OpenHAB, Mosquitto and some other functionality in Docker.
Udo_Hartmann helped me a lot creating my Docker environment in the German Openhab forum.
But again wouldn’t it be great when we could have a kind of an official OpenHAB Docker installation and also increase the OpenHAB usability?

Just an idea …

Happy Christmas to all :dizzy:

Try

With containerized services the idea is normally to have one (Docker) container per service - and not to put all „addon“ services into the openHAB container.
As one small example - here is the docker compose config I use to run openHAB + companion services:

#docker-compose.yml 

version: "2.2"

services:
  openhab:
    image: "openhab/openhab:2.5.12"
    container_name: openhab
    restart: always
    network_mode: host
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "/etc/timezone:/etc/timezone:ro"
      - "${PWD}/openhab/addons:/openhab/addons"
      - "${PWD}/openhab/conf:/openhab/conf"
      - "${PWD}/openhab/userdata:/openhab/userdata"
    environment:
      OPENHAB_HTTP_PORT: "8080"
      OPENHAB_HTTPS_PORT: "8443"
      USER_ID: ${UID}
      GROUP_ID: ${GID}
      EXTRA_JAVA_OPTS: "-Duser.timezone=Europe/Berlin"
    ports:
      - "5007:5007"      
      - "8080:8080"
      - "8443:8443"
  influxdb:
    image: influxdb:1.8.4
    container_name: influxdb
    restart: always
    network_mode: host
    ports:
      - "8083:8083"
      - "8086:8086"
      - "8090:8090"
      - "25826:25826/udp"
      - "2003:2003"
    env_file:
      # Check the file to set default password!
      - "${PWD}/env.influxdb"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "${PWD}/influxdb/data:/var/lib/influxdb/"
      - "${PWD}/influxdb/backup:/backups/"
  grafana:
    image: grafana/grafana:latest
    container_name: grafana
    restart: always
    network_mode: host
    user: "${UID}:${GID}"
    ports:
      - "3000:3000"
    env_file:
      - "${PWD}/env.grafana"
    volumes:
      - "/etc/localtime:/etc/localtime:ro"
      - "${PWD}/grafana/data:/var/lib/grafana/"
  frontail:
    image: "welteki/frontail-openhab:latest"
    container_name: "frontail"
    restart: always
    network_mode: host
    depends_on:
      - openhab
    volumes:
      - "${PWD}/openhab/userdata/logs:/var/log/openhab:ro"
    ports:
      - "9001:9001"
  homebridge:
    image: oznu/homebridge:latest
    container_name: homebridge
    restart: always
    network_mode: host
    volumes:
      - "${PWD}/homebridge:/homebridge"
    environment:
      - PGID=${UID}
      - PUID=${GID}
      - HOMEBRIDGE_CONFIG_UI=1
      - HOMEBRIDGE_CONFIG_UI_PORT=8081
    ports:
      - "8081:8081"