home-assistant (sha256:3a197077a0490b1e9f7452d10b3e64d640427bf25a80352379fc2ecdf7b37c78)

Published 2026-01-14 08:24:33 +00:00 by karl in karl/home-assistant

Installation

docker pull code.jorgensen.org.uk/karl/home-assistant@sha256:3a197077a0490b1e9f7452d10b3e64d640427bf25a80352379fc2ecdf7b37c78
sha256:3a197077a0490b1e9f7452d10b3e64d640427bf25a80352379fc2ecdf7b37c78

About this package

Open-source home automation platform running on Python 3

Image layers

ADD alpine-minirootfs-3.22.2-x86_64.tar.gz / # buildkit
CMD ["/bin/sh"]
ENV LANG=C.UTF-8 S6_BEHAVIOUR_IF_STAGE2_FAILS=2 S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0 S6_CMD_WAIT_FOR_SERVICES=1 S6_SERVICES_READYTIME=50 UV_EXTRA_INDEX_URL=https://wheels.home-assistant.io/musllinux-index/
SHELL [/bin/ash -o pipefail -c]
ARG BASHIO_VERSION=0.17.5 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0
WORKDIR /usr/src
ARG BUILD_ARCH=amd64
RUN |5 BASHIO_VERSION=0.17.5 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 BUILD_ARCH=amd64 /bin/ash -o pipefail -c set -x && apk add --no-cache bash bind-tools ca-certificates curl jq libstdc++ tzdata xz && apk add --no-cache --virtual .build-deps build-base autoconf git && if [ "${BUILD_ARCH}" = "amd64" ]; then export S6_ARCH="x86_64"; else export S6_ARCH="${BUILD_ARCH}"; fi && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-${S6_ARCH}.tar.xz" | tar Jxvf - -C / && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz" | tar Jxvf - -C / && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-arch.tar.xz" | tar Jxvf - -C / && curl -L -f -s "https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-symlinks-noarch.tar.xz" | tar Jxvf - -C / && mkdir -p /etc/fix-attrs.d && mkdir -p /etc/services.d && git clone "https://github.com/jemalloc/jemalloc" /usr/src/jemalloc && cd /usr/src/jemalloc && git checkout ${JEMALLOC_VERSION} && ./autogen.sh --with-lg-page=16 && make -j "$(nproc)" && make install_lib_shared install_bin && mkdir -p /usr/src/bashio && curl -L -f -s "https://github.com/hassio-addons/bashio/archive/v${BASHIO_VERSION}.tar.gz" | tar -xzf - --strip 1 -C /usr/src/bashio && mv /usr/src/bashio/lib /usr/lib/bashio && ln -s /usr/lib/bashio/bashio /usr/bin/bashio && curl -L -f -s -o /usr/bin/tempio "https://github.com/home-assistant/tempio/releases/download/${TEMPIO_VERSION}/tempio_${BUILD_ARCH}" && chmod a+x /usr/bin/tempio && apk del .build-deps && rm -rf /usr/src/* # buildkit
COPY rootfs / # buildkit
WORKDIR /
ENTRYPOINT ["/init"]
ARG PYTHON_VERSION=3.13.11 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
SHELL [/bin/ash -o pipefail -c]
RUN |3 PYTHON_VERSION=3.13.11 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com /bin/ash -o pipefail -c set -ex && export PYTHON_VERSION=${PYTHON_VERSION} && apk add --no-cache --virtual .fetch-deps openssl tar xz && apk add --no-cache --virtual .cosign cosign --repository="https://dl-cdn.alpinelinux.org/alpine/v3.21/community" && curl -L -o python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" && curl -L -o python.tar.xz.sigstore "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.sigstore" && cosign verify-blob --new-bundle-format --certificate-identity "${CERT_IDENTITY}" --certificate-oidc-issuer "${CERT_OIDC_ISSUER}" --bundle python.tar.xz.sigstore python.tar.xz && mkdir -p /usr/src/python && tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz && rm python.tar.xz python.tar.xz.sigstore && apk add --no-cache --virtual .build-deps patch bzip2-dev coreutils dpkg-dev dpkg expat-dev findutils build-base gdbm-dev libc-dev libffi-dev libnsl-dev openssl openssl-dev libtirpc-dev linux-headers make mpdecimal-dev ncurses-dev pax-utils readline-dev sqlite-dev tcl-dev tk tk-dev xz-dev zlib-dev bluez-dev && apk del .fetch-deps .cosign && for i in /usr/src/patches/*.patch; do patch -d /usr/src/python -p 1 < "${i}"; done && cd /usr/src/python && gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" && ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-optimizations --enable-option-checking=fatal --enable-shared --with-lto --with-system-libmpdec --with-system-expat --without-ensurepip --without-static-libpython && make -j "$(nproc)" LDFLAGS="-Wl,--strip-all" CFLAGS="-fno-semantic-interposition -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free" EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000" && make install && find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-cache --virtual .python-rundeps && apk del .build-deps && find /usr/local -depth \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' + && rm -rf /usr/src/python && cd /usr/local/bin && ln -s idle3 idle && ln -s pydoc3 pydoc && ln -s python3 python && ln -s python3-config python-config # buildkit
ARG PIP_VERSION=25.3
RUN |4 PYTHON_VERSION=3.13.11 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com PIP_VERSION=25.3 /bin/ash -o pipefail -c set -ex; python -m ensurepip --upgrade --default-pip; pip3 install --no-cache-dir --upgrade pip=="${PIP_VERSION}"; pip --version # buildkit
ARG BUILD_ARCH=amd64
ARG BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22-2025.12.1
RUN |2 BUILD_ARCH=amd64 BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22-2025.12.1 /bin/ash -o pipefail -c apk add bluez bluez-deprecated bluez-libs confuse curl eudev-libs ffmpeg git grep hwdata-usb imlib2 iperf3 libftdi1 libgpiod libpulse libturbojpeg libzbar mariadb-connector-c net-tools nmap openssh-client p8-platform pianobar popt pulseaudio-alsa socat # buildkit
RUN |2 BUILD_ARCH=amd64 BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22-2025.12.1 /bin/ash -o pipefail -c pip3 install --only-binary=:all: -r /tmp/requirements.txt # buildkit
WORKDIR /usr/src/
COPY /opt/ssocr/ /usr/local/ # buildkit
COPY /opt/libcec/ /usr/local/ # buildkit
RUN |2 BUILD_ARCH=amd64 BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22-2025.12.1 /bin/ash -o pipefail -c python_version=$(python -c "import sys; print(f'{sys.version_info.major}.{sys.version_info.minor}')") && echo "cec" > "/usr/local/lib/python${python_version}/site-packages/cec.pth" # buildkit
COPY /opt/picotts/usr/local/ /usr/local/ # buildkit
COPY /opt/telldus/ /usr/local/ # buildkit
COPY rootfs / # buildkit
LABEL io.hass.type=core org.opencontainers.image.authors=The Home Assistant Authors org.opencontainers.image.description=Open-source home automation platform running on Python 3 org.opencontainers.image.documentation=https://www.home-assistant.io/docs/ org.opencontainers.image.licenses=Apache-2.0 org.opencontainers.image.source=https://github.com/home-assistant/core org.opencontainers.image.title=Home Assistant org.opencontainers.image.url=https://www.home-assistant.io/
ENV S6_SERVICES_GRACETIME=240000 UV_SYSTEM_PYTHON=true UV_NO_CACHE=true
COPY rootfs / # buildkit
COPY /usr/local/bin/go2rtc /bin/go2rtc # buildkit
RUN /bin/ash -o pipefail -c go2rtc --version && pip3 install uv==0.9.17 # buildkit
WORKDIR /usr/src
COPY requirements.txt homeassistant/ # buildkit
COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ # buildkit
RUN /bin/ash -o pipefail -c uv pip install --no-build -r homeassistant/requirements.txt # buildkit
COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/ # buildkit
RUN /bin/ash -o pipefail -c if ls homeassistant/home_assistant_*.whl 1> /dev/null 2>&1; then uv pip install homeassistant/home_assistant_*.whl; fi && uv pip install --no-build -r homeassistant/requirements_all.txt # buildkit
COPY . homeassistant/ # buildkit
RUN /bin/ash -o pipefail -c uv pip install -e ./homeassistant && python3 -m compileall homeassistant/homeassistant # buildkit
WORKDIR /config
RUN /bin/ash -o pipefail -c apk add build-base # buildkit

Labels

Key Value
io.hass.arch amd64
io.hass.base.arch amd64
io.hass.base.image ghcr.io/home-assistant/amd64-base:3.22
io.hass.base.name python
io.hass.base.version 2025.12.1
io.hass.type core
io.hass.version 2026.1.1
org.opencontainers.image.authors The Home Assistant Authors
org.opencontainers.image.created 2026-01-12 10:56:26+00:00
org.opencontainers.image.description Open-source home automation platform running on Python 3
org.opencontainers.image.documentation https://www.home-assistant.io/docs/
org.opencontainers.image.licenses Apache-2.0
org.opencontainers.image.source https://github.com/home-assistant/core
org.opencontainers.image.title Home Assistant
org.opencontainers.image.url https://www.home-assistant.io/
org.opencontainers.image.version 2026.1.1
Details
Container
2026-01-14 08:24:33 +00:00
0
OCI / Docker
linux/amd64
The Home Assistant Authors
Apache-2.0
796 MiB
Versions (13) View all
2026.1.1-1 2026-01-14
latest 2026-01-14
master 2026-01-14
2025.12.4-1 2026-01-08