charts/charts/stable/home-assistant
2022-04-18 19:10:25 +00:00
..
templates [home-assistant] fix rules (#1195) 2021-09-13 11:55:31 -04:00
.helmignore [meta] Split incubator / stable charts (#688) 2021-03-18 13:11:24 +01:00
Chart.yaml [homeassistant] fix pvc for postgresql (#1521) 2022-04-18 15:09:55 -04:00
README_CONFIG.md.gotmpl [home-assistant] fix ingress example (#1257) 2021-10-31 10:23:02 +01:00
README.md chore: Auto-update chart README [skip ci] 2022-04-18 19:10:25 +00:00
values.yaml [homeassistant] fix pvc for postgresql (#1521) 2022-04-18 15:09:55 -04:00

home-assistant

Version: 13.0.2 AppVersion: 2022.4.0

Home Assistant

This chart is not maintained by the upstream project and any issues with the chart should be raised here

Source Code

Requirements

Kubernetes: >=1.16.0-0

Dependencies

Repository Name Version
https://charts.bitnami.com/bitnami influxdb 4.0.8
https://charts.bitnami.com/bitnami mariadb 10.4.4
https://charts.bitnami.com/bitnami postgresql 11.1.13
https://library-charts.k8s-at-home.com common 4.3.0

TL;DR

helm repo add k8s-at-home https://k8s-at-home.com/charts/
helm repo update
helm install home-assistant k8s-at-home/home-assistant

Installing the Chart

To install the chart with the release name home-assistant

helm install home-assistant k8s-at-home/home-assistant

Uninstalling the Chart

To uninstall the home-assistant deployment

helm uninstall home-assistant

The command removes all the Kubernetes components associated with the chart including persistent volumes and deletes the release.

Configuration

Read through the values.yaml file. It has several commented out suggested values. Other values may be used from the values.yaml from the common library.

Specify each parameter using the --set key=value[,key=value] argument to helm install.

helm install home-assistant \
  --set env.TZ="America/New York" \
    k8s-at-home/home-assistant

Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.

helm install home-assistant k8s-at-home/home-assistant -f values.yaml

Custom configuration

HTTP 400 bad request while accessing from your browser

When configuring Home Assistant behind a reverse proxy make sure you configure the http component and set trusted_proxies correctly and use_x_forwarded_for to true.

For example:

http:
  server_host: 0.0.0.0
  ip_ban_enabled: true
  login_attempts_threshold: 5
  use_x_forwarded_for: true
  trusted_proxies:
  # Pod CIDR
  - 10.69.0.0/16
  # Node CIDR
  - 192.168.42.0/24

Z-Wave / Zigbee

A Z-Wave and/or Zigbee controller device could be used with Home Assistant if passed through from the host to the pod. Skip this section if you are using zwave2mqtt and/or zigbee2mqtt or plan to.

First you will need to mount your Z-Wave and/or Zigbee device into the pod, you can do so by adding the following to your values:

persistence:
  usb:
    enabled: true
    type: hostPath
    hostPath: /path/to/device

Second you will need to set a nodeAffinity rule, for example:

affinity:
  nodeAffinity:
    requiredDuringSchedulingIgnoredDuringExecution:
      nodeSelectorTerms:
      - matchExpressions:
        - key: app
          operator: In
          values:
          - zwave-controller

... where a node with an attached zwave and/or zigbee controller USB device is labeled with app: zwave-controller

Websockets

If an ingress controller is being used with home assistant, web sockets must be enabled using annotations to enable support of web sockets.

Using NGINX as an example the following will need to be added to your values:

ingress:
  main:
    enabled: true
    annotations:
      nginx.org/websocket-services: home-assistant
    hosts:
      - host: home-assistant.example.org
        paths:
          - path: /

The value derived is the name of the kubernetes service object for home-assistant

Metrics collection

If metrics collection is enabled through the metrics.enabled: true setting, make sure to also enable the Prometheus endpoint in your Home-Assistant configuration. See the official documentation for more details on how to set this up.

Values

Important: When deploying an application Helm chart you can add more values from our common library chart here

Key Type Default Description
env object See below environment variables.
env.TZ string "UTC" Set the container timezone
image.pullPolicy string "IfNotPresent" image pull policy
image.repository string "ghcr.io/home-assistant/home-assistant" image repository
image.tag string chart.appVersion image tag
influxdb object See values.yaml Enable and configure influxdb database subchart under this key. For more options see influxdb chart documentation
ingress.main object See values.yaml Enable and configure ingress settings for the chart under this key.
mariadb object See values.yaml Enable and configure mariadb database subchart under this key. For more options see mariadb chart documentation
metrics.enabled bool See values.yaml Enable and configure a Prometheus serviceMonitor for the chart under this key.
metrics.prometheusRule object See values.yaml Enable and configure Prometheus Rules for the chart under this key.
metrics.prometheusRule.rules list See prometheusrules.yaml Configure additionial rules for the chart under this key.
metrics.serviceMonitor.interval string "1m"
metrics.serviceMonitor.labels object {}
metrics.serviceMonitor.scrapeTimeout string "30s"
persistence object See values.yaml Configure persistence settings for the chart under this key.
persistence.usb object See values.yaml Configure a hostPathMount to mount a USB device in the container.
postgresql object See values.yaml Enable and configure postgresql database subchart under this key. For more options see postgresql chart documentation
securityContext object {"privileged":null} Enable devices to be discoverable hostNetwork: true -- When hostNetwork is true set dnsPolicy to ClusterFirstWithHostNet dnsPolicy: ClusterFirstWithHostNet
securityContext.privileged bool nil Privileged securityContext may be required if USB devics are accessed directly through the host machine
service object See values.yaml Configures service settings for the chart. Normally this does not need to be modified.

Changelog

Version 13.0.2

Added

N/A

Changed

  • Upgraded values.yaml to fix issue for postgresql pvc creation

Fixed

N/A

Older versions

A historical overview of changes can be found on ArtifactHUB

Support


Autogenerated from chart metadata using helm-docs v0.1.1