Skip to content

Setup

Hassio Add-on

If you have Hassio, you can install this via it's repository.

  • Add this link into repositories https://github.com/timmo001/repository

Add to repositories

  • Now install the app, and configure the options.

  • Click Start and after a minute or so, you can click Open Web UI and set up the app as normal.

Install

Docker Compose


  • Install Docker and Docker Compose
  • Create a directory for your compose file. For example, home-panel
  • Create a config.json using the template
  • Create a docker-compose.yml file:

SSL

This example maps the ssl directory in the home directory. Inside this directory are two files fullchain.pem and privkey.pem which are files generated by Let's Encrypt. Change the environment variables to your own Home Assistant details

---
version: '3'

services:
  home-panel:
    image: timmo001/home-panel
    ports:
      - 8234:443
    volumes:
      - ~/ssl:/ssl
  home-panel-api:
    image: timmo001/home-panel-api
    environment:
      CERTIFICATES_DIR: /ssl
    ports:
      - 3234:3234
    volumes:
      - ~/ssl:/ssl
      - PATH_TO_CONFIG/config.json:/usr/src/app/files/config.json

Non-SSL

This example shows how to set up the app without ssl. This is useful for testing, but is unsecure, so don't expose the app to the outside world.

---
version: '3'

services:
  home-panel:
    image: timmo001/home-panel
    ports:
      - 8234:80
    volumes:
      - PATH_TO_CONFIG/config.json:/usr/src/app/config.json
  home-panel-api:
    image: timmo001/home-panel-api
    ports:
      - 3234:3234
    volumes:
      - PATH_TO_CONFIG/config.json:/usr/src/app/files/config.json

Docker


SSL

This example maps the ssl directory in the home directory. Inside this directory are two files fullchain.pem and privkey.pem which are files generated by Let's Encrypt. Change the environment variables to your own Home Assistant details

docker run -d \
  -p 8234:443 \
  -v ~/ssl:/ssl \
  timmo001/home-panel
docker run -d \
  -e CERTIFICATES_DIR='/ssl' \
  -p 3234:3234 \
  -v ~/ssl:/ssl \
  -v PATH_TO_CONFIG/config.json:/usr/src/app/files/config.json \
  timmo001/home-panel-api

Non-SSL

This example shows how to set up the app without ssl. This is useful for testing, but is unsecure, so don't expose the app to the outside world.

docker run -d \
  -p 8234:80 \
  timmo001/home-panel
docker run -d \
  -p 3234:3234 \
  -v PATH_TO_CONFIG/config.json:/usr/src/app/files/config.json \
  timmo001/home-panel-api

Node JS


API Setup

  • First clone the Home Assistant API repository
  • Checkout the version you want via releases
  • Copy files/config.template.json to files/config.json
  • Update files/config.json to your configuration
  • Install packages
yarn install
  • Run
node index.js

Webapp

  • Clone this repository
  • Checkout the version you want via releases
  • Install packages
yarn install

Production - SSL

  • Build a production version
yarn build
  • Install nginx
  • Edit your server config /etc/nginx/conf.d/default.conf
server {
  listen 443 ssl http2 default_server;
  listen [::]:443 ssl http2 default_server;

  root /usr/share/nginx/html;
  index index.html;
  server_name 172.0.0.1;

  ssl_certificate /ssl/fullchain.pem;
  ssl_certificate_key /ssl/privkey.pem;

  location / {
    try_files $uri /index.html;
  }
}
  • Copy the files in the build folder into nginx's html directory at /usr/share/nginx/html
  • Start your server
nginx -g "daemon off;"

Production - Non-SSL

This option is not secure. Do not open to the outside world!

  • Build a production version
yarn build
  • Install nginx
  • Edit your server config /etc/nginx/conf.d/default.conf
server {
  listen 80 default_server;
  listen [::]:80 default_server;
  root /usr/share/nginx/html;
  index index.html;
  server_name 172.0.0.1;
  location / {
    try_files \$uri /index.html;
  }
}
  • Copy the files in the build folder into nginx's html directory at /usr/share/nginx/html
  • Start your server
nginx -g "daemon off;"

Development

This option is not secure. Do not open to the outside world!

  • Run the app
yarn start