Newer
Older
openhab / docker-compose.yml
version: '2.2'

services:
    main-openhab:
      image: openhab/openhab:2.3.0-${OPENHAB_ARCH:-amd64}-debian
      mem_limit: ${OPENHAB_MEMORY_LIMIT:-2g}
      restart: always
      tty: true
      logging:
        driver: json-file
      environment:
        - USER_ID=${OPENHAB_USER_ID}
        - TZ=${TZ}
        - LC_ALL=${OPENHAB_LANG}
        - LANG=${OPENHAB_LANG}
        - LANGUAGE=${OPENHAB_LANG}
        - OPENHAB_HTTP_PORT=8080
        - OPENHAB_HTTPS_PORT=8443
      volumes:
        - /etc/localtime:/etc/localtime:ro
        - /etc/timezone:/etc/timezone:ro
        - ./data/conf/:/openhab/conf/
        - ./data/userdata/:/openhab/userdata/
        - ./data/addons/:/openhab/addons/
      tmpfs:
        - /tmp:rw,size=100m
      ports:
        - "${OPENHAB_HTTP_BIND:-127.0.0.1}:${OPENHAB_HTTP_PORT:-8080}:8080"
        - "${OPENHAB_HTTPS_BIND:-127.0.0.1}:${OPENHAB_HTTPS_PORT:-8443}:8443"
        - "${OPENHAB_OSGI_BIND:-127.0.0.1}:${OPENHAB_OSGI_PORT:-5555}:5555"
      networks:
        openhab-network:
          ipv4_address: ${IPV4_NETWORK:-172.55.55}.100
          aliases:
            - openhab-main

    db-openhab:
      image: mariadb:10.3
      restart: always
      command: mysqld --skip-name-resolve --skip-host-cache --log-warnings=0
      healthcheck:
        test: ["CMD", "mysqladmin", "-u$OPENHAB_DATABASE_USER", "-p$OPENHAB_DATABASE_PASSWORD",  "ping", "-h", "localhost"]
        interval: 30s
        timeout: 30s
        retries: 10
      environment:
        - MYSQL_ROOT_PASSWORD=${OPENHAB_DATABASE_ROOT}
        - MYSQL_DATABASE=openhab
        - MYSQL_USER=openhab
        - MYSQL_PASSWORD=${OPENHAB_DATABASE_PASSWORD}
      volumes:
        - /etc/localtime:/etc/localtime:ro
        - /etc/timezone:/etc/timezone:ro
        - ./data/db/:/var/lib/mysql/
        - ./conf/mariadb:/etc/mysql/conf.d/:ro
      networks:
        openhab-network:
          ipv4_address: ${IPV4_NETWORK:-172.55.55}.101
          aliases:
            - openhab-db


networks:
  openhab-network:
    driver: bridge
    enable_ipv6: false
    ipam:
      driver: default
      config:
        - subnet: ${IPV4_NETWORK:-172.55.55}.0/24