Sign inSign up

chmuul/home-assistant

By chmuul

•Updated almost 3 years ago

Home-assistant image that doesn't require root privileges.

Image
0

1.1K

chmuul/home-assistant repository overview

⁠rootless Home Assistant

⁠Why?

Official home assistant docker image is a PITA, requires root privileges, contains a process manager and downloads pip dependencies on first startup.

This image simply contains home-assisstant, all pip dependencies pre-installed plus psycopg2 for Postgres. Can be used in kubernetes with PodSecurity "restricted".

⁠Run in kubernetes

Deploy home-assistant with the awesome multi-purpose helm chart stakater/application⁠.

Example values.yaml:

applicationName: home-assistant

configMap:
  enabled: true
  files:
    automations:
      automations.yaml: |
        ... some automations ...
    config:
      configuration.yaml: |
        ... the config ...
    media:
      media.yaml: |
        ... custom definitions for voice assistant ...

secret:
  enabled: true
  files:
    secrets:
      data:
        secrets.yaml: |
          psql_string: postgresql://homeassistant:[email protected]/homeassistant

deployment:
  strategy:
    type: Recreate
  image:
    repository: chmuul/home-assistant
    tag: latest
    pullPolicy: Always
  args:
    - /srv/homeassistant/bin/hass
    - --skip-pip
    - --log-file
    - /dev/null
  env:
    TZ:
      value: Berlin/Europe
  ports:
    - containerPort: 8123
      name: http
      protocol: TCP
  resources:
    requests:
      cpu: '0.01'
      memory: 400Mi
    limits:
      cpu: '1'
      memory: 1Gi
  containerSecurityContext:
    allowPrivilegeEscalation: false
    capabilities:
      drop: [ALL]
    runAsUser: 999
    runAsGroup: 999
  securityContext:
    fsGroup: 999
    seccompProfile:
      type: RuntimeDefault
  volumes:
    automations:
      configMap:
        name: home-assistant-automations
    config:
      configMap:
        name: home-assistant-config
    media:
      configMap:
        name: home-assistant-media
    secrets:
      secret:
        secretName: home-assistant-secrets
    tmp:
      emptyDir:
        sizeLimit: 100Mi
  volumeMounts:
    automations:
      mountPath: /home/homeassistant/.homeassistant/automations/automations.yaml
      subPath: automations.yaml
    config:
      mountPath: /home/homeassistant/.homeassistant/configuration.yaml
      subPath: configuration.yaml
    media:
      mountPath: /home/homeassistant/.homeassistant/custom_sentences/de/media.yaml
      subPath: media.yaml
    secrets:
      mountPath: /home/homeassistant/.homeassistant/secrets.yaml
      subPath: secrets.yaml
    tmp:
      mountPath: /tmp

rbac:
  enabled: true
  serviceAccount:
    enabled: true

service:
  ports:
    - port: 8123
      name: http
      protocol: TCP
      targetPort: 8123

persistence:
  enabled: true
  mountPVC: true
  mountPath: /home/homeassistant/.homeassistant/
  storageSize: 1Gi

Tag summary

Content type

Image

Digest

sha256:bf1f8b156…

Size

1.3 GB

Last updated

almost 3 years ago

docker pull chmuul/home-assistant