Skip to content

Home Assistant QNAP

mttstt edited this page Mar 16, 2019 · 63 revisions

QNAP: docker-compose HomeAssistant + Mosquitto + Caddy

version: '3'
services:
  mosquitto:
    container_name: mosquitto
    image: eclipse-mosquitto:latest
    restart: always
    ports:
      - 1883:1883
    volumes:
      - /share/Public/container-station-data/mosquitto/config:/mosquitto/config
      - /share/Public/container-station-data/mosquitto/data:/mosquitto/data
      - /share/Public/container-station-data/mosquitto/log:/mosquitto/log
    network_mode:
      "host"
  homeassistant:
    container_name: home-assistant
    image: homeassistant/home-assistant:latest
    restart: always
    ports:
      - 8123:8123
    volumes:
      - /share/Public/container-station-data/homeassistant:/config``
    depends_on:
      - mosquitto
    network_mode:
      "host"
  caddy:
    container_name: caddy
    image: abiosoft/caddy:latest
    restart: always
    environment:
      - ACME_AGREE=true
      - ENABLE_TELEMETRY=false
      - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    volumes:
      - /share/Public/container-station-data/caddy/etc:/etc/caddy
      - /share/Public/container-station-data/caddy/srv:/srv
      - /share/Public/container-station-data/caddy/.root:/root/.caddy
    command: ["--conf", "/etc/caddy/Caddyfile", "--log", "stdout", "--agree=true"]
    network_mode:
      "host"

Disable redirect port 80 on Qnap

Enable QNAP web server service and change the port (e-g- 80 -->81). Now TCP 80 port is not more redirected.

Caddy configuration Server reverse proxy

Docker Version: no-stats

Command: --conf /etc/caddy/Caddyfile --log stdout --agree=$ACME_AGREE

Entrypoint: /bin/parent caddy

Volume from host: /etc/caddy /share/Public/container-station-data/caddy

Networking: HOST

Variables: ACME_AGREE false ENABLE_TELEMETRY false PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

/etc/Caddyfile:

 smaxxx.dlinkddns.com {
    proxy / 192.168.1.108:8123 {
        websocket
        transparent
    }
    log stdout
}

Clone this wiki locally