Namespace
homeassistant
Image / Tag
home-assistant:2025.10
Content Digest
sha256:9255033272ab8f7bede246109ea9e7302527faf3accbf2ba7ef619e2206107ad
Details
Created

2025-10-03 18:19:29 UTC

Size

636 MB

Content Digest
Labels
  • io.hass.arch
    i386
  • io.hass.base.arch
    i386
  • io.hass.base.image
    ghcr.io/home-assistant/i386-base:3.22
  • io.hass.base.name
    python
  • io.hass.base.version
    2025.09.0
  • io.hass.type
    core
  • io.hass.version
    2025.10.1
  • org.opencontainers.image.authors
    The Home Assistant Authors
  • org.opencontainers.image.created
    2025-10-03 18:18:05+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
    2025.10.1

Environment
LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

S6_BEHAVIOUR_IF_STAGE2_FAILS

2

S6_CMD_WAIT_FOR_SERVICES

1

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

S6_SERVICES_GRACETIME

240000

S6_SERVICES_READYTIME

50

UV_EXTRA_INDEX_URL

https://wheels.home-assistant.io/musllinux-index/

UV_NO_CACHE

true

UV_SYSTEM_PYTHON

true


Layers

[#000] sha256:a55f2fb89da4caae0d783c0045a67446dee9bbd977fecb44db9e1231550fa888 - 0.54% (3.45 MB)

[#001] sha256:ea37aa68cab94f40818929a4a214905190e566b1a1a5113f1ce3e6f76f8a1d63 - 0.0% (108 Bytes)

[#002] sha256:046f2b0fda5e376024d91e2f95afb3d3398dc789b6ecc9d26fcec46b5c72a69a - 2.35% (15 MB)

[#003] sha256:dc183b41af71e470920b35472b36dd34080f69426688599916be76d7f173059f - 0.0% (247 Bytes)

[#004] sha256:316c2af577eb805dbeaea7ac5002e9948067ca2ffb9ecf29c7d8b0e79c9a9458 - 0.0% (3.34 KB)

[#005] sha256:2d197dc45f6aa959751e6419650dc9db1521eea357a228c4e467d55664e9bf48 - 3.61% (23 MB)

[#006] sha256:e14a363562bef85b7c11cc41996f7cdec361aaa0b443c6c7a6bf09cec1a2ed61 - 0.0% (230 Bytes)

[#007] sha256:366e96809434d8ed8e763293e9e749bfa19a9bb0715d605ff87a47797cc56b07 - 0.54% (3.47 MB)

[#008] sha256:32850d8cdd135a7d733348832f82421aeb13fb9baeeea1502f296914a0f6b4e8 - 8.07% (51.3 MB)

[#009] sha256:d0541e043587d2f6de23cf751477c75dd5e7829118f2d16a904a24b83257d8f5 - 1.33% (8.47 MB)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#011] sha256:ad6afbaf60a3900b706764f6827c3a912a6dddcd39796a583b67723df2feba42 - 0.01% (59.5 KB)

[#012] sha256:440d2f5b64d3ad82d02496bf234c6c8bcc68c8b38b789dbb416487cdd9f5f901 - 0.09% (559 KB)

[#013] sha256:f48184445f2bb173529827c138834d0c377c14dce671a536fc96737ef47f4486 - 0.0% (220 Bytes)

[#014] sha256:1711f08ff307c00855cd7e0b57decd38884c819a6ae9ae6e9e9f853e6873aa2b - 0.8% (5.12 MB)

[#015] sha256:259a80ee52e12c72cd2abed8228984408439d47470abe6f3c2d9d475c3ca6f35 - 0.05% (294 KB)

[#016] sha256:abf40b348b91826a8a43ece5f5b7c7d0672984168e5e7d7189534f3149b90959 - 0.0% (8.76 KB)

[#017] sha256:5543aba479e61217b2385601fb75b1b93667438a365fe9f1c1fda6f9c8d4c3c1 - 0.0% (1.43 KB)

[#018] sha256:d08c05c010786c596a31255f873d811ec223663239276e1896c273c2451e7a4f - 0.82% (5.2 MB)

[#019] sha256:d9a514e46e6093c7cc2d6230df25b76f15bc52149c8830abc23e86966ed2e310 - 2.84% (18.1 MB)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#021] sha256:691ef3f9abf86801fb9937e9436b1965a67b3b1ef0294e247097c4667f49997e - 0.0% (834 Bytes)

[#022] sha256:4a48e8335ddf11c936c6fab4862a82ad7f2631c29ba6a9252787c8f0020a3e15 - 0.0% (3.08 KB)

[#023] sha256:962b238c0cea9e860a56198b4a75eda51ae94ce3d96de5741b13cc67dbb8df68 - 5.28% (33.6 MB)

[#024] sha256:3c749504193581bf0b59ea16d487b47a152d428b90ef55db230ce7f827e72d96 - 0.0% (14.5 KB)

[#025] sha256:4a933a2c55a3c5da378faf40910d1702a1ea92ae9457ecd72d17802ed4cfc8cd - 66.26% (422 MB)

[#026] sha256:c915e13ba09b86a350daba8cab04e82a5050fb2a058d70a267575d50c8c976ab - 4.17% (26.5 MB)

[#027] sha256:792852f8cf8bd3f9132c4e62e41c1582578cebe7bf818f9782a01d9bd4fef9a9 - 3.23% (20.6 MB)

[#028] sha256:0372907124678daad7d14c2c89a14c4222f9ddec1d506a871a7e8f12b7de372c - 0.0% (96 Bytes)


History
2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.1-x86.tar.gz / # buildkit

2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-09-02 10:31:05 UTC (buildkit.dockerfile.v0)

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/

2025-09-02 10:31:05 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:31:05 UTC (buildkit.dockerfile.v0)

ARG BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU

2025-09-02 10:31:05 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-09-02 10:31:05 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=i386

2025-09-02 10:32:17 UTC (buildkit.dockerfile.v0)

RUN |6 BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU= BUILD_ARCH=i386 /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}" = "armv7" ]; then export S6_ARCH="arm"; elif [ "${BUILD_ARCH}" = "i386" ]; then export S6_ARCH="i686"; elif [ "${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

2025-09-02 10:32:17 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-09-02 10:32:17 UTC (buildkit.dockerfile.v0)

WORKDIR /

2025-09-02 10:32:17 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

COPY *.patch /usr/src/ # buildkit

2025-09-02 11:07:37 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /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 && 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/*.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 && rm -f /usr/src/*.patch # buildkit

2025-09-02 11:07:37 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c cd /usr/local/bin && ln -s idle3 idle && ln -s pydoc3 pydoc && ln -s python3 python && ln -s python3-config python-config # buildkit

2025-09-02 11:07:41 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c set -ex; apk add --no-cache --virtual .fetch-deps openssl; curl -L -o get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; apk del .fetch-deps; python get-pip.py --disable-pip-version-check --no-cache-dir pip==${PIP_VERSION} ; pip --version; find /usr/local -depth \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' +; rm -f get-pip.py # buildkit

2025-10-02 11:50:50 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=i386

2025-10-02 11:50:50 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-02 11:50:50 UTC (buildkit.dockerfile.v0)

ARG BUILD_FROM=ghcr.io/home-assistant/i386-base-python:3.13-alpine3.22

2025-10-02 11:50:50 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=i386 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/i386-base-python:3.13-alpine3.22 /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

2025-10-02 11:50:54 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=i386 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/i386-base-python:3.13-alpine3.22 /bin/ash -o pipefail -c pip3 install --only-binary=:all: -r /tmp/requirements.txt # buildkit

2025-10-02 11:50:54 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/

2025-10-02 11:50:56 UTC (buildkit.dockerfile.v0)

COPY /opt/ssocr/ /usr/local/ # buildkit

2025-10-02 11:51:30 UTC (buildkit.dockerfile.v0)

COPY /opt/libcec/ /usr/local/ # buildkit

2025-10-02 11:51:30 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=i386 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/i386-base-python:3.13-alpine3.22 /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

2025-10-02 11:51:32 UTC (buildkit.dockerfile.v0)

COPY /opt/picotts/ /usr/local/ # buildkit

2025-10-02 11:51:32 UTC (buildkit.dockerfile.v0)

COPY /opt/telldus/ /usr/local/ # buildkit

2025-10-02 11:51:32 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:12 UTC (buildkit.dockerfile.v0)

ENV S6_SERVICES_GRACETIME=240000 UV_SYSTEM_PYTHON=true UV_NO_CACHE=true

2025-10-03 18:18:12 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-03 18:18:12 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:12 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=i386

2025-10-03 18:18:12 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=i386 /bin/ash -o pipefail -c case "${BUILD_ARCH}" in "aarch64") go2rtc_suffix='arm64' ;; "armhf") go2rtc_suffix='armv6' ;; "armv7") go2rtc_suffix='arm' ;; *) go2rtc_suffix=${BUILD_ARCH} ;; esac && curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.9/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc && chmod +x /bin/go2rtc && go2rtc --version # buildkit

2025-10-03 18:18:14 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=i386 /bin/ash -o pipefail -c pip3 install uv==0.8.9 # buildkit

2025-10-03 18:18:14 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-10-03 18:18:14 UTC (buildkit.dockerfile.v0)

COPY requirements.txt homeassistant/ # buildkit

2025-10-03 18:18:14 UTC (buildkit.dockerfile.v0)

COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ # buildkit

2025-10-03 18:18:20 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=i386 /bin/ash -o pipefail -c uv pip install --no-build -r homeassistant/requirements.txt # buildkit

2025-10-03 18:18:21 UTC (buildkit.dockerfile.v0)

COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/ # buildkit

2025-10-03 18:19:00 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=i386 /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

2025-10-03 18:19:05 UTC (buildkit.dockerfile.v0)

COPY . homeassistant/ # buildkit

2025-10-03 18:19:29 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=i386 /bin/ash -o pipefail -c uv pip install -e ./homeassistant && python3 -m compileall homeassistant/homeassistant # buildkit

2025-10-03 18:19:29 UTC (buildkit.dockerfile.v0)

WORKDIR /config

Details
Created

2025-10-03 18:19:56 UTC

Size

658 MB

Content Digest
Labels
  • 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.09.0
  • io.hass.type
    core
  • io.hass.version
    2025.10.1
  • org.opencontainers.image.authors
    The Home Assistant Authors
  • org.opencontainers.image.created
    2025-10-03 18:18:13+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
    2025.10.1

Environment
LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

S6_BEHAVIOUR_IF_STAGE2_FAILS

2

S6_CMD_WAIT_FOR_SERVICES

1

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

S6_SERVICES_GRACETIME

240000

S6_SERVICES_READYTIME

50

UV_EXTRA_INDEX_URL

https://wheels.home-assistant.io/musllinux-index/

UV_NO_CACHE

true

UV_SYSTEM_PYTHON

true


Layers

[#000] sha256:9824c27679d3b27c5e1cb00a73adb6f4f8d556994111c12db3c5d61a0c843df8 - 0.55% (3.62 MB)

[#001] sha256:c87e1d5cda6c017f7456bf2bad910a17f7755f7e7505bcae60a5d2dfbed2b6ee - 0.0% (109 Bytes)

[#002] sha256:5d828ea684007ebfebeed4da20c6d77e80a5b0485de2bee9e575542c7f232895 - 2.22% (14.6 MB)

[#003] sha256:4346f058050997c0994e080eb668c14e5e1ad8998e79bf29bc7f117aa5509b74 - 0.0% (247 Bytes)

[#004] sha256:6714ed1a63d2166a0c358067cb38ff14fd7aedc911f919c7e0f3d41099df01a0 - 0.0% (3.34 KB)

[#005] sha256:a3696c5e6312549d9c09c3effaf20fbdb4fcfe5e09fd7573ea8e43ec6d59ca68 - 3.49% (23 MB)

[#006] sha256:a04202ea7998b221bbf148f4d0a04e67af524e4163cb3122b525ef3fdd907030 - 0.0% (228 Bytes)

[#007] sha256:56542ca91a817e506972c4e5689273ecdef01c76b6826e078fb499946f8f7775 - 0.53% (3.47 MB)

[#008] sha256:c07eff999f665fe94c5b678b4c13f9a34042fd838e4034a374ca78c83fbb2cbe - 8.65% (56.9 MB)

[#009] sha256:df8f7c53302ac7e46c8579d477e9bfc013e16216c9f2542d920b938a025d2c1a - 1.33% (8.74 MB)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#011] sha256:977e6ebdd4a32e8a7a3de2f40707b0ab685af7be6a746d6dd0a0ded48e74461e - 0.01% (57.8 KB)

[#012] sha256:0513cc81acf21e0283bee2cfee3abfcaa7d3216d53763cbec6c52bc2ab60384c - 0.08% (538 KB)

[#013] sha256:d6208abe7955c3383e5b7935358de03de75c535e80904c031ca93939c8e3cd73 - 0.0% (217 Bytes)

[#014] sha256:9e1d5ea5c87a0dc2df882a83e76120799dae9f6543a81fdb39695dcab6079091 - 0.78% (5.13 MB)

[#015] sha256:5b0f30828e73f3ca6b962b019b54844bba7d405a99ee62fe3a619ba7f5f3caa7 - 0.04% (277 KB)

[#016] sha256:9e9ce858c3ff8dee17994d889365f139e3cf6d4598b464a5713571742ca3aa50 - 0.0% (8.76 KB)

[#017] sha256:03bd42ad9895db1b7aa48337e5392485c2ad37237d1d8f6acdfd2ff8f5beb41a - 0.0% (1.43 KB)

[#018] sha256:b77dd3869b1f65ef0fa8a3b88890ac4a70cd0cd38607c7373f10a880dd4df878 - 0.85% (5.58 MB)

[#019] sha256:11197ff1bf0fbfa64d899598336c8e49f1782270514a205e712456e7f7e198f7 - 2.88% (19 MB)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#021] sha256:966253723cfbeba9c2703c1b98f286cbba1c77f372f265388adafc557da392f5 - 0.0% (833 Bytes)

[#022] sha256:6951f2fe3437e24e3688a27b3dafe9dea33b7767f9b5071c20a422c8243af505 - 0.0% (3.08 KB)

[#023] sha256:ffcd123e54b609a79b567ff15f0c81e638481eb0fc63f674915b36db5a35dd36 - 5.81% (38.2 MB)

[#024] sha256:0f6c18be807b875915b29b7c50fcf03ed054c377c283ac526a71de23dcf44e2d - 0.0% (14.5 KB)

[#025] sha256:6027c534aad54b12c579294b8317622841d41c1480f47dc0e0972c0615199c1d - 65.64% (432 MB)

[#026] sha256:8656382401a36bb9d1a1114fc3dfe4c3fb3081fd8c964f042490886c6380dc72 - 4.03% (26.5 MB)

[#027] sha256:6d28c85c7a3ced4918b2f4cac3ef5eeb2d334bc12ba3d6c957f598565c23424d - 3.12% (20.6 MB)

[#028] sha256:5ae044b3c16d9f5fe907efa96b035dafd7798ad5bd09ca83ebd9a2f1fb7c72a9 - 0.0% (96 Bytes)


History
2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.1-x86_64.tar.gz / # buildkit

2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-09-02 10:31:06 UTC (buildkit.dockerfile.v0)

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/

2025-09-02 10:31:06 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:31:06 UTC (buildkit.dockerfile.v0)

ARG BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU

2025-09-02 10:31:06 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-09-02 10:31:06 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=amd64

2025-09-02 10:32:15 UTC (buildkit.dockerfile.v0)

RUN |6 BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU= 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}" = "armv7" ]; then export S6_ARCH="arm"; elif [ "${BUILD_ARCH}" = "i386" ]; then export S6_ARCH="i686"; elif [ "${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

2025-09-02 10:32:15 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-09-02 10:32:15 UTC (buildkit.dockerfile.v0)

WORKDIR /

2025-09-02 10:32:15 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2025-09-02 10:45:36 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU

2025-09-02 10:45:36 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-09-02 10:45:36 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:45:36 UTC (buildkit.dockerfile.v0)

COPY *.patch /usr/src/ # buildkit

2025-09-02 11:04:29 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /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 && 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/*.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 && rm -f /usr/src/*.patch # buildkit

2025-09-02 11:04:29 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c cd /usr/local/bin && ln -s idle3 idle && ln -s pydoc3 pydoc && ln -s python3 python && ln -s python3-config python-config # buildkit

2025-09-02 11:04:34 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c set -ex; apk add --no-cache --virtual .fetch-deps openssl; curl -L -o get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; apk del .fetch-deps; python get-pip.py --disable-pip-version-check --no-cache-dir pip==${PIP_VERSION} ; pip --version; find /usr/local -depth \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' +; rm -f get-pip.py # buildkit

2025-10-02 11:50:45 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=amd64

2025-10-02 11:50:45 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-02 11:50:45 UTC (buildkit.dockerfile.v0)

ARG BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22

2025-10-02 11:50:45 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=amd64 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22 /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

2025-10-02 11:50:49 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=amd64 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22 /bin/ash -o pipefail -c pip3 install --only-binary=:all: -r /tmp/requirements.txt # buildkit

2025-10-02 11:50:49 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/

2025-10-02 11:50:51 UTC (buildkit.dockerfile.v0)

COPY /opt/ssocr/ /usr/local/ # buildkit

2025-10-02 11:51:18 UTC (buildkit.dockerfile.v0)

COPY /opt/libcec/ /usr/local/ # buildkit

2025-10-02 11:51:18 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=amd64 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/amd64-base-python:3.13-alpine3.22 /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

2025-10-02 11:51:25 UTC (buildkit.dockerfile.v0)

COPY /opt/picotts/ /usr/local/ # buildkit

2025-10-02 11:51:25 UTC (buildkit.dockerfile.v0)

COPY /opt/telldus/ /usr/local/ # buildkit

2025-10-02 11:51:25 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:22 UTC (buildkit.dockerfile.v0)

ENV S6_SERVICES_GRACETIME=240000 UV_SYSTEM_PYTHON=true UV_NO_CACHE=true

2025-10-03 18:18:22 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-03 18:18:22 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:22 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=amd64

2025-10-03 18:18:23 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=amd64 /bin/ash -o pipefail -c case "${BUILD_ARCH}" in "aarch64") go2rtc_suffix='arm64' ;; "armhf") go2rtc_suffix='armv6' ;; "armv7") go2rtc_suffix='arm' ;; *) go2rtc_suffix=${BUILD_ARCH} ;; esac && curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.9/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc && chmod +x /bin/go2rtc && go2rtc --version # buildkit

2025-10-03 18:18:25 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=amd64 /bin/ash -o pipefail -c pip3 install uv==0.8.9 # buildkit

2025-10-03 18:18:25 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-10-03 18:18:25 UTC (buildkit.dockerfile.v0)

COPY requirements.txt homeassistant/ # buildkit

2025-10-03 18:18:25 UTC (buildkit.dockerfile.v0)

COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ # buildkit

2025-10-03 18:18:34 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=amd64 /bin/ash -o pipefail -c uv pip install --no-build -r homeassistant/requirements.txt # buildkit

2025-10-03 18:18:34 UTC (buildkit.dockerfile.v0)

COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/ # buildkit

2025-10-03 18:19:24 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=amd64 /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

2025-10-03 18:19:30 UTC (buildkit.dockerfile.v0)

COPY . homeassistant/ # buildkit

2025-10-03 18:19:55 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=amd64 /bin/ash -o pipefail -c uv pip install -e ./homeassistant && python3 -m compileall homeassistant/homeassistant # buildkit

2025-10-03 18:19:56 UTC (buildkit.dockerfile.v0)

WORKDIR /config

Details
Created

2025-10-03 18:23:14 UTC

Size

601 MB

Content Digest
Labels
  • io.hass.arch
    armhf
  • io.hass.base.arch
    armhf
  • io.hass.base.image
    ghcr.io/home-assistant/armhf-base:3.22
  • io.hass.base.name
    python
  • io.hass.base.version
    2025.09.0
  • io.hass.type
    core
  • io.hass.version
    2025.10.1
  • org.opencontainers.image.authors
    The Home Assistant Authors
  • org.opencontainers.image.created
    2025-10-03 18:18:10+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
    2025.10.1

Environment
LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

S6_BEHAVIOUR_IF_STAGE2_FAILS

2

S6_CMD_WAIT_FOR_SERVICES

1

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

S6_SERVICES_GRACETIME

240000

S6_SERVICES_READYTIME

50

UV_EXTRA_INDEX_URL

https://wheels.home-assistant.io/musllinux-index/

UV_NO_CACHE

true

UV_SYSTEM_PYTHON

true


Layers

[#000] sha256:06bab5e847c5674d6ec26b342cc11d7a051a6a231e5db8a955d57bc9f4ab5595 - 0.56% (3.34 MB)

[#001] sha256:616947f83cb6426a23b7ded7db92fadb4ce81b2e8b1ba74fd69428568c79abb2 - 0.0% (108 Bytes)

[#002] sha256:3806e6e432369c11e30eb34ac0aca01c4d9b87ece6cc0842b8aea5456a209487 - 2.43% (14.6 MB)

[#003] sha256:4346f058050997c0994e080eb668c14e5e1ad8998e79bf29bc7f117aa5509b74 - 0.0% (247 Bytes)

[#004] sha256:15afb29fe54a7c1ff47d52ae3a6f239cc03c8a6d84caf05e8c42a98e4687e345 - 0.0% (3.34 KB)

[#005] sha256:dae51ac8b1b975b0d99a37bee9a0827f7dd8687248447e6e3db36c992b9f5890 - 3.69% (22.2 MB)

[#006] sha256:bec9217703a9989db371ff898fa5815ce18e4355d75157d90ba71ecf8716767e - 0.0% (228 Bytes)

[#007] sha256:9e097d9b91927d96d902b61ad27ee2000d1692fe24e8862fe5584f11cadfb892 - 0.58% (3.47 MB)

[#008] sha256:99788deb09321f85811740f11c4000826cb3a538dda88e090bcfc0121e3f0da4 - 8.08% (48.5 MB)

[#009] sha256:a410aa663eeb1fcb8c100f487be5fec40b102eab13cdcbd65333b24b4d4f1e68 - 1.19% (7.14 MB)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#011] sha256:831d3fecf872b30fcccac6a4b0c3593534b9646a8006d8731190f1d71cf6fd9a - 0.01% (58.4 KB)

[#012] sha256:8af53c73f5d0d11b3dacb37a39e944e79daec24af16f8f13c3211108190f8bed - 0.08% (514 KB)

[#013] sha256:4eb7f9b7a20fadb6c34445e3249f296d53fcf9ed5049072146130a4e1998ce3e - 0.0% (225 Bytes)

[#014] sha256:0ad9d4fed7de77d54f714cedd5c17a72b2b0db7d03208bb189f20a37de8d4884 - 0.85% (5.13 MB)

[#015] sha256:e35cdfac164486915ab296b073a79053f8ea089adf433036df5ebe52834a6d78 - 0.04% (265 KB)

[#016] sha256:9e9ce858c3ff8dee17994d889365f139e3cf6d4598b464a5713571742ca3aa50 - 0.0% (8.76 KB)

[#017] sha256:21193062ac2f4be597c2add99802b955ed243608b32233712fbbf9cecd13567c - 0.0% (1.43 KB)

[#018] sha256:13f4fedc219d4beee0690186821218d055580d692b4ef933a53cc0115b198528 - 0.8% (4.8 MB)

[#019] sha256:69f4b97299e1c62b312f7193090420137c996a462d4092e8e9c921cd6ec67188 - 3.07% (18.4 MB)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#021] sha256:de6040481ce51b56630466731d28fe6d8b33ddf33b86215479a3f874b81c73a5 - 0.0% (835 Bytes)

[#022] sha256:679093a6e2964e250679cf9b783e6d6659cb85bafdb2a933519d94050a08d8a2 - 0.0% (3.08 KB)

[#023] sha256:f39aaf28f20fe68a0f55ca18bcec62ba2a9614455083bf8a3411878dcd93ef17 - 5.71% (34.3 MB)

[#024] sha256:caf1a7c12e62c426e2a2663232a4a1dffd11878f04e64ae66f21efe4bd4ca69f - 0.0% (14.5 KB)

[#025] sha256:4e7d67655c3a46362d77671f3495131ca71188521df61bb6ada1c1766cadaf31 - 65.07% (391 MB)

[#026] sha256:eb96fc2a48d93aa2fe1143a6b1d52cdd96ec65540801b33cee6c80b710f95d36 - 4.42% (26.5 MB)

[#027] sha256:bab982b642160daef5db4cd346b2c2605773b6e1d434157417b1a415aed3ca34 - 3.42% (20.6 MB)

[#028] sha256:6582fc74abd4459db49004fa440cbd0cb252cacafd8d4922d125b291fbe76999 - 0.0% (96 Bytes)


History
2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.1-armhf.tar.gz / # buildkit

2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-09-02 10:31:14 UTC (buildkit.dockerfile.v0)

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/

2025-09-02 10:31:14 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:31:14 UTC (buildkit.dockerfile.v0)

ARG BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU=arm1176

2025-09-02 10:31:14 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-09-02 10:31:14 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=armhf

2025-09-02 10:43:33 UTC (buildkit.dockerfile.v0)

RUN |6 BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU=arm1176 BUILD_ARCH=armhf /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}" = "armv7" ]; then export S6_ARCH="arm"; elif [ "${BUILD_ARCH}" = "i386" ]; then export S6_ARCH="i686"; elif [ "${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

2025-09-02 10:43:33 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-09-02 10:43:33 UTC (buildkit.dockerfile.v0)

WORKDIR /

2025-09-02 10:43:33 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2025-09-02 10:45:26 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU=arm1176

2025-09-02 10:45:26 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-09-02 10:45:26 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:45:26 UTC (buildkit.dockerfile.v0)

COPY *.patch /usr/src/ # buildkit

2025-09-02 14:34:17 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU=arm1176 /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 && 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/*.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 && rm -f /usr/src/*.patch # buildkit

2025-09-02 14:34:17 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU=arm1176 /bin/ash -o pipefail -c cd /usr/local/bin && ln -s idle3 idle && ln -s pydoc3 pydoc && ln -s python3 python && ln -s python3-config python-config # buildkit

2025-09-02 14:34:44 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU=arm1176 /bin/ash -o pipefail -c set -ex; apk add --no-cache --virtual .fetch-deps openssl; curl -L -o get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; apk del .fetch-deps; python get-pip.py --disable-pip-version-check --no-cache-dir pip==${PIP_VERSION} ; pip --version; find /usr/local -depth \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' +; rm -f get-pip.py # buildkit

2025-10-02 11:51:14 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=armhf

2025-10-02 11:51:14 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU=arm1176

2025-10-02 11:51:14 UTC (buildkit.dockerfile.v0)

ARG BUILD_FROM=ghcr.io/home-assistant/armhf-base-python:3.13-alpine3.22

2025-10-02 11:51:14 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=armhf QEMU_CPU=arm1176 BUILD_FROM=ghcr.io/home-assistant/armhf-base-python:3.13-alpine3.22 /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

2025-10-02 11:51:23 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=armhf QEMU_CPU=arm1176 BUILD_FROM=ghcr.io/home-assistant/armhf-base-python:3.13-alpine3.22 /bin/ash -o pipefail -c pip3 install --only-binary=:all: -r /tmp/requirements.txt # buildkit

2025-10-02 11:51:23 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/

2025-10-02 11:52:01 UTC (buildkit.dockerfile.v0)

COPY /opt/ssocr/ /usr/local/ # buildkit

2025-10-02 11:57:06 UTC (buildkit.dockerfile.v0)

COPY /opt/libcec/ /usr/local/ # buildkit

2025-10-02 11:57:07 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=armhf QEMU_CPU=arm1176 BUILD_FROM=ghcr.io/home-assistant/armhf-base-python:3.13-alpine3.22 /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

2025-10-02 11:58:06 UTC (buildkit.dockerfile.v0)

COPY /opt/picotts/ /usr/local/ # buildkit

2025-10-02 11:58:06 UTC (buildkit.dockerfile.v0)

COPY /opt/telldus/ /usr/local/ # buildkit

2025-10-02 11:58:06 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

ENV S6_SERVICES_GRACETIME=240000 UV_SYSTEM_PYTHON=true UV_NO_CACHE=true

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU=arm1176

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=armhf

2025-10-03 18:18:21 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU=arm1176 BUILD_ARCH=armhf /bin/ash -o pipefail -c case "${BUILD_ARCH}" in "aarch64") go2rtc_suffix='arm64' ;; "armhf") go2rtc_suffix='armv6' ;; "armv7") go2rtc_suffix='arm' ;; *) go2rtc_suffix=${BUILD_ARCH} ;; esac && curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.9/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc && chmod +x /bin/go2rtc && go2rtc --version # buildkit

2025-10-03 18:18:30 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU=arm1176 BUILD_ARCH=armhf /bin/ash -o pipefail -c pip3 install uv==0.8.9 # buildkit

2025-10-03 18:18:30 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-10-03 18:18:30 UTC (buildkit.dockerfile.v0)

COPY requirements.txt homeassistant/ # buildkit

2025-10-03 18:18:30 UTC (buildkit.dockerfile.v0)

COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ # buildkit

2025-10-03 18:18:51 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU=arm1176 BUILD_ARCH=armhf /bin/ash -o pipefail -c uv pip install --no-build -r homeassistant/requirements.txt # buildkit

2025-10-03 18:18:51 UTC (buildkit.dockerfile.v0)

COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/ # buildkit

2025-10-03 18:20:44 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU=arm1176 BUILD_ARCH=armhf /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

2025-10-03 18:20:49 UTC (buildkit.dockerfile.v0)

COPY . homeassistant/ # buildkit

2025-10-03 18:23:14 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU=arm1176 BUILD_ARCH=armhf /bin/ash -o pipefail -c uv pip install -e ./homeassistant && python3 -m compileall homeassistant/homeassistant # buildkit

2025-10-03 18:23:14 UTC (buildkit.dockerfile.v0)

WORKDIR /config

Details
Created

2025-10-03 18:23:05 UTC

Size

589 MB

Content Digest
Labels
  • io.hass.arch
    armv7
  • io.hass.base.arch
    armv7
  • io.hass.base.image
    ghcr.io/home-assistant/armv7-base:3.22
  • io.hass.base.name
    python
  • io.hass.base.version
    2025.09.0
  • io.hass.type
    core
  • io.hass.version
    2025.10.1
  • org.opencontainers.image.authors
    The Home Assistant Authors
  • org.opencontainers.image.created
    2025-10-03 18:18:11+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
    2025.10.1

Environment
LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

S6_BEHAVIOUR_IF_STAGE2_FAILS

2

S6_CMD_WAIT_FOR_SERVICES

1

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

S6_SERVICES_GRACETIME

240000

S6_SERVICES_READYTIME

50

UV_EXTRA_INDEX_URL

https://wheels.home-assistant.io/musllinux-index/

UV_NO_CACHE

true

UV_SYSTEM_PYTHON

true


Layers

[#000] sha256:5ee064f8764b09a64829b58705219a88e0b13243f7f403d66ac0c639640426a5 - 0.52% (3.07 MB)

[#001] sha256:0610fe08ae1988fb0a5b86b6d8827002d5452a903a1e7f3d18e26f93d84180a4 - 0.0% (109 Bytes)

[#002] sha256:14291427553f90e70a8f8b2ba6ea0b8d2dbd1accb1bd8d8ccbd2c5aee33f0501 - 2.37% (14 MB)

[#003] sha256:d9fb79a9e0dadfeed2485b3fcee723f163950dd721617921e315517a345e60df - 0.0% (247 Bytes)

[#004] sha256:53de13a39726f1c4027184029782eb7e438fed6d0b16af8c7c16be3a92a99560 - 0.0% (3.34 KB)

[#005] sha256:1b46a4b88fa62158fb9983b8ef4b5dec4f59fdf7e5e072262af07dca2327bdb2 - 3.68% (21.7 MB)

[#006] sha256:935708c325739b4e8273ca5c1f89e41db8f424921b5dab4ef0c89ce777e091e7 - 0.0% (230 Bytes)

[#007] sha256:4d8e58f81839ef844fb1318168939d3a03185f31a4f778cf2a364ade47ee6e98 - 0.59% (3.47 MB)

[#008] sha256:cd130047adf3d860ac51fa327eb6c08ef0b021b2d7cb60aad99593f1de40fcc3 - 7.84% (46.1 MB)

[#009] sha256:c88acf0203c0478486918c0ddb22bd65a2be1bdf0e050fc419d1d0ece7ddce51 - 0.88% (5.17 MB)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#011] sha256:eedaa6ad3fee3b80805f1b4197227b9bbd05d633e81085f8dce08077063cca55 - 0.01% (55.9 KB)

[#012] sha256:10bfb17e7160a9fc72c43f961a6e91e33d64182ad555cc689c670a5b91d3e62a - 0.08% (503 KB)

[#013] sha256:e14d9d97eaa6820406d2032057a8012eb25d3687ac6acbc5787a27211efb25ea - 0.0% (221 Bytes)

[#014] sha256:f49a02468f859c96209e6782310863d11b8fb3bd7dccce0ba4c69c7c9cc67b5c - 0.87% (5.13 MB)

[#015] sha256:39b9cbdda17240ce603f8114cf0dbe0959f960d407f6e39a5fbb5c754f1fc54f - 0.04% (259 KB)

[#016] sha256:594f2d6d7080a36ced4bf044e8fd94de756038fbc9db8bc61e79ff7698ba1939 - 0.0% (8.76 KB)

[#017] sha256:21193062ac2f4be597c2add99802b955ed243608b32233712fbbf9cecd13567c - 0.0% (1.43 KB)

[#018] sha256:8c88f2bba362ecc0e3377e5f82a8f338a5a918229cc12697476cda0f65746b4f - 0.81% (4.79 MB)

[#019] sha256:8c5e78e595d37c235fd5065f337804faa9af21188f600357cea295cf8f3e1158 - 3.06% (18 MB)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#021] sha256:f5765826c83b39b9c02eefabbde3920b61eff6e76a9b1d94972157900e0cbece - 0.0% (835 Bytes)

[#022] sha256:a4287c3d5bd079318b6fbcc146bf61c007f007b6ea651b296b4f5afc44586a8f - 0.0% (3.08 KB)

[#023] sha256:00b2e711c7561ab1948ea2458995f4b1909df84bd0cc0617083b6775670d676a - 5.1% (30.1 MB)

[#024] sha256:e56fcfa431e2adf001354b36d1ff194748a950f65c54423348b67c39f7895a20 - 0.0% (14.5 KB)

[#025] sha256:60fafd797b3e3cab62bed15adb70a1c1c5ce6f6e6c4d4535f3dd74f537c5279b - 66.13% (389 MB)

[#026] sha256:4dfcfeceff7f672540cc5284e09b7b87c308078321d1782096b11abc20fc2775 - 4.51% (26.5 MB)

[#027] sha256:df82e668db54e5a032bf0f547e443b5b592d83e2b35252f320759ec2568c28a8 - 3.49% (20.6 MB)

[#028] sha256:610cf05f6dd26f3de2e2434a6fa9e13e5210872b1cab3b92d692a7adc9674df5 - 0.0% (96 Bytes)


History
2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.1-armv7.tar.gz / # buildkit

2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-09-02 10:31:09 UTC (buildkit.dockerfile.v0)

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/

2025-09-02 10:31:09 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:31:09 UTC (buildkit.dockerfile.v0)

ARG BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU

2025-09-02 10:31:09 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-09-02 10:31:09 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=armv7

2025-09-02 10:44:02 UTC (buildkit.dockerfile.v0)

RUN |6 BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU= BUILD_ARCH=armv7 /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}" = "armv7" ]; then export S6_ARCH="arm"; elif [ "${BUILD_ARCH}" = "i386" ]; then export S6_ARCH="i686"; elif [ "${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

2025-09-02 10:44:02 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-09-02 10:44:02 UTC (buildkit.dockerfile.v0)

WORKDIR /

2025-09-02 10:44:02 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:45:21 UTC (buildkit.dockerfile.v0)

COPY *.patch /usr/src/ # buildkit

2025-09-02 14:36:10 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /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 && 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/*.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 && rm -f /usr/src/*.patch # buildkit

2025-09-02 14:36:10 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c cd /usr/local/bin && ln -s idle3 idle && ln -s pydoc3 pydoc && ln -s python3 python && ln -s python3-config python-config # buildkit

2025-09-02 14:36:38 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c set -ex; apk add --no-cache --virtual .fetch-deps openssl; curl -L -o get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; apk del .fetch-deps; python get-pip.py --disable-pip-version-check --no-cache-dir pip==${PIP_VERSION} ; pip --version; find /usr/local -depth \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' +; rm -f get-pip.py # buildkit

2025-10-02 11:51:05 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=armv7

2025-10-02 11:51:05 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-02 11:51:05 UTC (buildkit.dockerfile.v0)

ARG BUILD_FROM=ghcr.io/home-assistant/armv7-base-python:3.13-alpine3.22

2025-10-02 11:51:05 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=armv7 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/armv7-base-python:3.13-alpine3.22 /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

2025-10-02 11:51:13 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=armv7 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/armv7-base-python:3.13-alpine3.22 /bin/ash -o pipefail -c pip3 install --only-binary=:all: -r /tmp/requirements.txt # buildkit

2025-10-02 11:51:13 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/

2025-10-02 11:52:14 UTC (buildkit.dockerfile.v0)

COPY /opt/ssocr/ /usr/local/ # buildkit

2025-10-02 11:56:52 UTC (buildkit.dockerfile.v0)

COPY /opt/libcec/ /usr/local/ # buildkit

2025-10-02 11:56:52 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=armv7 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/armv7-base-python:3.13-alpine3.22 /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

2025-10-02 11:58:52 UTC (buildkit.dockerfile.v0)

COPY /opt/picotts/ /usr/local/ # buildkit

2025-10-02 11:58:52 UTC (buildkit.dockerfile.v0)

COPY /opt/telldus/ /usr/local/ # buildkit

2025-10-02 11:58:52 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

ENV S6_SERVICES_GRACETIME=240000 UV_SYSTEM_PYTHON=true UV_NO_CACHE=true

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:19 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=armv7

2025-10-03 18:18:21 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=armv7 /bin/ash -o pipefail -c case "${BUILD_ARCH}" in "aarch64") go2rtc_suffix='arm64' ;; "armhf") go2rtc_suffix='armv6' ;; "armv7") go2rtc_suffix='arm' ;; *) go2rtc_suffix=${BUILD_ARCH} ;; esac && curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.9/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc && chmod +x /bin/go2rtc && go2rtc --version # buildkit

2025-10-03 18:18:31 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=armv7 /bin/ash -o pipefail -c pip3 install uv==0.8.9 # buildkit

2025-10-03 18:18:31 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-10-03 18:18:31 UTC (buildkit.dockerfile.v0)

COPY requirements.txt homeassistant/ # buildkit

2025-10-03 18:18:31 UTC (buildkit.dockerfile.v0)

COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ # buildkit

2025-10-03 18:18:47 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=armv7 /bin/ash -o pipefail -c uv pip install --no-build -r homeassistant/requirements.txt # buildkit

2025-10-03 18:18:47 UTC (buildkit.dockerfile.v0)

COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/ # buildkit

2025-10-03 18:20:33 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=armv7 /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

2025-10-03 18:20:39 UTC (buildkit.dockerfile.v0)

COPY . homeassistant/ # buildkit

2025-10-03 18:23:05 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=armv7 /bin/ash -o pipefail -c uv pip install -e ./homeassistant && python3 -m compileall homeassistant/homeassistant # buildkit

2025-10-03 18:23:05 UTC (buildkit.dockerfile.v0)

WORKDIR /config

Details
Created

2025-10-03 18:27:29 UTC

Size

645 MB

Content Digest
Labels
  • io.hass.arch
    aarch64
  • io.hass.base.arch
    aarch64
  • io.hass.base.image
    ghcr.io/home-assistant/aarch64-base:3.22
  • io.hass.base.name
    python
  • io.hass.base.version
    2025.09.0
  • io.hass.type
    core
  • io.hass.version
    2025.10.1
  • org.opencontainers.image.authors
    The Home Assistant Authors
  • org.opencontainers.image.created
    2025-10-03 18:18:12+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
    2025.10.1

Environment
LANG

C.UTF-8

PATH

/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

S6_BEHAVIOUR_IF_STAGE2_FAILS

2

S6_CMD_WAIT_FOR_SERVICES

1

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

S6_SERVICES_GRACETIME

240000

S6_SERVICES_READYTIME

50

UV_EXTRA_INDEX_URL

https://wheels.home-assistant.io/musllinux-index/

UV_NO_CACHE

true

UV_SYSTEM_PYTHON

true


Layers

[#000] sha256:6e174226ea690ced550e5641249a412cdbefd2d09871f3e64ab52137a54ba606 - 0.61% (3.94 MB)

[#001] sha256:095660f5d69eb670e28740d29667799673d2e12c26292069f0b52778808e4852 - 0.0% (108 Bytes)

[#002] sha256:9042fd1a2ac136957037ee5a0294c0bf2d07438ec912912c198d57edf68eb888 - 2.33% (15 MB)

[#003] sha256:82fe8554da65509417ded1bf5da5406d6d94344179dcc8f62ade0fae63b54b81 - 0.0% (247 Bytes)

[#004] sha256:b1118fd1aeadc0b8ffc9261420e1343ddc95df4828bfbbe83ea172cd698ef728 - 0.0% (3.34 KB)

[#005] sha256:84a5cf6ee57ba46c2c2a0e2cef0ae191f71cc41a9e17a7ac43b16ada9fd5fb53 - 3.59% (23.1 MB)

[#006] sha256:cbbb59276eb79d6a90f607c3b6ba6cd28b371d9d0d573afaa04595447a7585a2 - 0.0% (230 Bytes)

[#007] sha256:1044cacc558828ddd08c179bdce50a1595571e225bca332ca0bcf2fe3a14f62e - 0.54% (3.47 MB)

[#008] sha256:c7a48c1db5b6b6a2e0630c53244f51c3f441d9341e843654a98e5e94eb09564b - 8.56% (55.2 MB)

[#009] sha256:0b64e089dc097b6968a2bdaf6f6db7aa0f47f117bd17076e4e4c7aa099be390d - 1.48% (9.52 MB)

[#010] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#011] sha256:0dd02dcb6aad397f5f68427ebe7e98f5ad6272050c57d6fbb0d986ccc632054d - 0.01% (55.5 KB)

[#012] sha256:4fed3b307c211a4991509fe0e5b9e51f0e9277451591e0b5a1feacb436fe20be - 0.08% (529 KB)

[#013] sha256:1805715a09c06f7e73d369af28c0fd91104b94f08e8c01bcf3c6cef013d38f38 - 0.0% (224 Bytes)

[#014] sha256:b68cb8a6bdc788cd66c39e75f92b3272c4c14fda281fb82e9dde97b509c04eb3 - 0.79% (5.12 MB)

[#015] sha256:9444d62461ea0f9ed9c74770bb80215a4e75aa505acd9078118083052cf7428e - 0.04% (279 KB)

[#016] sha256:594f2d6d7080a36ced4bf044e8fd94de756038fbc9db8bc61e79ff7698ba1939 - 0.0% (8.76 KB)

[#017] sha256:03bd42ad9895db1b7aa48337e5392485c2ad37237d1d8f6acdfd2ff8f5beb41a - 0.0% (1.43 KB)

[#018] sha256:8a8c49542bc7315ee6a2a8a6f7ef6313f7d7bf357eb36177aea395d5e752dc91 - 0.75% (4.84 MB)

[#019] sha256:46f00e66bf9d0f35438f99950ee047177ea876883c09243b496fe7533fda7faa - 2.77% (17.9 MB)

[#020] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#021] sha256:7064cd16a25b588892b6ef3f45fcc71f90e0bffe8724917d7d93c786ff5c7d25 - 0.0% (834 Bytes)

[#022] sha256:98e17c1f2ea70dc2a8943792b7629a0ae70d0cc8b291b8326aa941ee86dc44b3 - 0.0% (3.08 KB)

[#023] sha256:bcd2bc358673623a416c1665da2ee07d1b2a1be53dcb78ce01d462ca2b3288ef - 5.78% (37.3 MB)

[#024] sha256:87d5e962e9f71cc072c70fd80db611a198f7a926becf3b8296c1f8a0e1413cbe - 0.0% (14.5 KB)

[#025] sha256:d7f82dfaea23a39c887b7060396fd9cefa18b96455090fd0d54be12410b5ed59 - 65.37% (422 MB)

[#026] sha256:b35ac9e75d948261e3cd1eba360519efdf5d94c7eb8ee15ad68e871842e02f3f - 4.11% (26.5 MB)

[#027] sha256:d54248d9480121dd83960a8c837aefbb78e42621b49dc38fba49c11807d88a01 - 3.19% (20.6 MB)

[#028] sha256:583cb083eb8e51cd50ddae54c97e52a793ef09c5d9b1937731cecfbc7a3bb6c8 - 0.0% (96 Bytes)


History
2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.22.1-aarch64.tar.gz / # buildkit

2025-07-15 11:01:16 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2025-09-02 10:31:01 UTC (buildkit.dockerfile.v0)

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/

2025-09-02 10:31:01 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:31:01 UTC (buildkit.dockerfile.v0)

ARG BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU

2025-09-02 10:31:01 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-09-02 10:31:01 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=aarch64

2025-09-02 10:44:36 UTC (buildkit.dockerfile.v0)

RUN |6 BASHIO_VERSION=0.17.0 TEMPIO_VERSION=2024.11.2 S6_OVERLAY_VERSION=3.1.6.2 JEMALLOC_VERSION=5.3.0 QEMU_CPU= BUILD_ARCH=aarch64 /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}" = "armv7" ]; then export S6_ARCH="arm"; elif [ "${BUILD_ARCH}" = "i386" ]; then export S6_ARCH="i686"; elif [ "${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

2025-09-02 10:44:36 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-09-02 10:44:36 UTC (buildkit.dockerfile.v0)

WORKDIR /

2025-09-02 10:44:36 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

2025-09-02 10:45:23 UTC (buildkit.dockerfile.v0)

ARG PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU

2025-09-02 10:45:23 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2025-09-02 10:45:23 UTC (buildkit.dockerfile.v0)

SHELL [/bin/ash -o pipefail -c]

2025-09-02 10:45:23 UTC (buildkit.dockerfile.v0)

COPY *.patch /usr/src/ # buildkit

2025-09-02 14:34:46 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /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 && 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/*.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 && rm -f /usr/src/*.patch # buildkit

2025-09-02 14:34:46 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c cd /usr/local/bin && ln -s idle3 idle && ln -s pydoc3 pydoc && ln -s python3 python && ln -s python3-config python-config # buildkit

2025-09-02 14:35:16 UTC (buildkit.dockerfile.v0)

RUN |5 PYTHON_VERSION=3.13.7 PIP_VERSION=25.2 CERT_IDENTITY=thomas@python.org CERT_OIDC_ISSUER=https://accounts.google.com QEMU_CPU= /bin/ash -o pipefail -c set -ex; apk add --no-cache --virtual .fetch-deps openssl; curl -L -o get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; apk del .fetch-deps; python get-pip.py --disable-pip-version-check --no-cache-dir pip==${PIP_VERSION} ; pip --version; find /usr/local -depth \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' +; rm -f get-pip.py # buildkit

2025-10-02 11:51:10 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=aarch64

2025-10-02 11:51:10 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-02 11:51:10 UTC (buildkit.dockerfile.v0)

ARG BUILD_FROM=ghcr.io/home-assistant/aarch64-base-python:3.13-alpine3.22

2025-10-02 11:51:10 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=aarch64 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/aarch64-base-python:3.13-alpine3.22 /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

2025-10-02 11:51:21 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=aarch64 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/aarch64-base-python:3.13-alpine3.22 /bin/ash -o pipefail -c pip3 install --only-binary=:all: -r /tmp/requirements.txt # buildkit

2025-10-02 11:51:21 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src/

2025-10-02 11:51:56 UTC (buildkit.dockerfile.v0)

COPY /opt/ssocr/ /usr/local/ # buildkit

2025-10-02 11:57:16 UTC (buildkit.dockerfile.v0)

COPY /opt/libcec/ /usr/local/ # buildkit

2025-10-02 11:57:17 UTC (buildkit.dockerfile.v0)

RUN |3 BUILD_ARCH=aarch64 QEMU_CPU= BUILD_FROM=ghcr.io/home-assistant/aarch64-base-python:3.13-alpine3.22 /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

2025-10-02 11:58:12 UTC (buildkit.dockerfile.v0)

COPY /opt/picotts/ /usr/local/ # buildkit

2025-10-02 11:58:12 UTC (buildkit.dockerfile.v0)

COPY /opt/telldus/ /usr/local/ # buildkit

2025-10-02 11:58:12 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:21 UTC (buildkit.dockerfile.v0)

ENV S6_SERVICES_GRACETIME=240000 UV_SYSTEM_PYTHON=true UV_NO_CACHE=true

2025-10-03 18:18:21 UTC (buildkit.dockerfile.v0)

ARG QEMU_CPU

2025-10-03 18:18:21 UTC (buildkit.dockerfile.v0)

COPY rootfs / # buildkit

2025-10-03 18:18:21 UTC (buildkit.dockerfile.v0)

ARG BUILD_ARCH=aarch64

2025-10-03 18:18:23 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=aarch64 /bin/ash -o pipefail -c case "${BUILD_ARCH}" in "aarch64") go2rtc_suffix='arm64' ;; "armhf") go2rtc_suffix='armv6' ;; "armv7") go2rtc_suffix='arm' ;; *) go2rtc_suffix=${BUILD_ARCH} ;; esac && curl -L https://github.com/AlexxIT/go2rtc/releases/download/v1.9.9/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc && chmod +x /bin/go2rtc && go2rtc --version # buildkit

2025-10-03 18:18:32 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=aarch64 /bin/ash -o pipefail -c pip3 install uv==0.8.9 # buildkit

2025-10-03 18:18:32 UTC (buildkit.dockerfile.v0)

WORKDIR /usr/src

2025-10-03 18:18:33 UTC (buildkit.dockerfile.v0)

COPY requirements.txt homeassistant/ # buildkit

2025-10-03 18:18:33 UTC (buildkit.dockerfile.v0)

COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ # buildkit

2025-10-03 18:18:46 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=aarch64 /bin/ash -o pipefail -c uv pip install --no-build -r homeassistant/requirements.txt # buildkit

2025-10-03 18:18:46 UTC (buildkit.dockerfile.v0)

COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/ # buildkit

2025-10-03 18:25:01 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=aarch64 /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

2025-10-03 18:25:07 UTC (buildkit.dockerfile.v0)

COPY . homeassistant/ # buildkit

2025-10-03 18:27:29 UTC (buildkit.dockerfile.v0)

RUN |2 QEMU_CPU= BUILD_ARCH=aarch64 /bin/ash -o pipefail -c uv pip install -e ./homeassistant && python3 -m compileall homeassistant/homeassistant # buildkit

2025-10-03 18:27:29 UTC (buildkit.dockerfile.v0)

WORKDIR /config

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete