haldap (latest)
Published 2024-11-16 19:02:12 -05:00 by stryan
Installation
docker pull git.saintnet.tech/stryan/haldap:latest
sha256:4538dcf5bbcd15eeabbcae4837a6bff04251a018c2dc1a3c716d59dbdcabc8a5
About this package
Open-source home automation platform running on Python 3
Image Layers
ADD file:33ebe56b967747a97dcec01bc2559962bee8823686c9739d26be060381bbb3ca in / |
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 TEMPIO_VERSION S6_OVERLAY_VERSION JEMALLOC_VERSION QEMU_CPU |
WORKDIR /usr/src |
ARG BUILD_ARCH |
RUN |6 BASHIO_VERSION=0.16.2 TEMPIO_VERSION=2021.09.0 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 |
COPY rootfs / # buildkit |
WORKDIR / |
ENTRYPOINT ["/init"] |
ARG PYTHON_VERSION PIP_VERSION GPG_KEY QEMU_CPU |
ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
SHELL [/bin/ash -o pipefail -c] |
COPY *.patch /usr/src/ # buildkit |
RUN |4 PYTHON_VERSION=3.12.4 PIP_VERSION=24.1 GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305 QEMU_CPU= /bin/ash -o pipefail -c set -ex && export PYTHON_VERSION=${PYTHON_VERSION} && apk add --no-cache --virtual .fetch-deps gnupg openssl tar xz && 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.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" && export GNUPGHOME="$(mktemp -d)" && echo "disable-ipv6" >> "$GNUPGHOME/dirmngr.conf" && gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "${GPG_KEY}" && gpg --batch --verify python.tar.xz.asc python.tar.xz && { command -v gpgconf > /dev/null && gpgconf --kill all || :; } && rm -rf "$GNUPGHOME" python.tar.xz.asc && 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 && 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 |
RUN |4 PYTHON_VERSION=3.12.4 PIP_VERSION=24.1 GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305 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 |
RUN |4 PYTHON_VERSION=3.12.4 PIP_VERSION=24.1 GPG_KEY=7169605F62C751356D054A26A821E680E5FA6305 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 |
ARG BUILD_ARCH QEMU_CPU SSOCR_VERSION LIBCEC_VERSION PICOTTS_HASH TELLDUS_COMMIT |
RUN |6 BUILD_ARCH=amd64 QEMU_CPU= SSOCR_VERSION=2.23.1 LIBCEC_VERSION=6.0.2 PICOTTS_HASH=e3ba46009ee868911fa0b53db672a55f9cc13b1c TELLDUS_COMMIT=2598bbed16ffd701f2a07c99582f057a3decbaf3 /bin/ash -o pipefail -c apk add --no-cache bluez bluez-deprecated bluez-libs curl eudev-libs ffmpeg iperf3 git grep hwdata-usb libgpiod libturbojpeg libpulse libzbar mariadb-connector-c net-tools nmap openssh-client pianobar pulseaudio-alsa socat # buildkit |
COPY requirements.txt /usr/src/ # buildkit |
RUN |6 BUILD_ARCH=amd64 QEMU_CPU= SSOCR_VERSION=2.23.1 LIBCEC_VERSION=6.0.2 PICOTTS_HASH=e3ba46009ee868911fa0b53db672a55f9cc13b1c TELLDUS_COMMIT=2598bbed16ffd701f2a07c99582f057a3decbaf3 /bin/ash -o pipefail -c pip3 install --only-binary=:all: -r /usr/src/requirements.txt && rm -f /usr/src/requirements.txt # buildkit |
WORKDIR /usr/src/ |
RUN |6 BUILD_ARCH=amd64 QEMU_CPU= SSOCR_VERSION=2.23.1 LIBCEC_VERSION=6.0.2 PICOTTS_HASH=e3ba46009ee868911fa0b53db672a55f9cc13b1c TELLDUS_COMMIT=2598bbed16ffd701f2a07c99582f057a3decbaf3 /bin/ash -o pipefail -c apk add --no-cache imlib2 && apk add --no-cache --virtual .build-dependencies build-base imlib2-dev && git clone --depth 1 -b "v${SSOCR_VERSION}" https://github.com/auerswal/ssocr && cd ssocr && make -j"$(nproc)" && make install && apk del .build-dependencies && rm -rf /usr/src/ssocr # buildkit |
COPY patches/libcec-fix-null-return.patch /usr/src/ # buildkit |
RUN |6 BUILD_ARCH=amd64 QEMU_CPU= SSOCR_VERSION=2.23.1 LIBCEC_VERSION=6.0.2 PICOTTS_HASH=e3ba46009ee868911fa0b53db672a55f9cc13b1c TELLDUS_COMMIT=2598bbed16ffd701f2a07c99582f057a3decbaf3 /bin/ash -o pipefail -c apk add --no-cache eudev-libs p8-platform && apk add --no-cache --virtual .build-dependencies build-base cmake eudev-dev swig p8-platform-dev linux-headers && git clone --depth 1 -b "libcec-${LIBCEC_VERSION}" https://github.com/Pulse-Eight/libcec && cd libcec && git apply ../libcec-fix-null-return.patch && mkdir build && cd build && cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DPYTHON_LIBRARY="/usr/local/lib/libpython3.12.so" -DPYTHON_INCLUDE_DIR="/usr/local/include/python3.12" -DHAVE_LINUX_API=1 .. && make -j"$(nproc)" && make install && echo "cec" > "/usr/local/lib/python3.12/site-packages/cec.pth" && apk del .build-dependencies && rm -rf /usr/src/libcec /usr/src/libcec-fix-null-return.patch # buildkit |
RUN |6 BUILD_ARCH=amd64 QEMU_CPU= SSOCR_VERSION=2.23.1 LIBCEC_VERSION=6.0.2 PICOTTS_HASH=e3ba46009ee868911fa0b53db672a55f9cc13b1c TELLDUS_COMMIT=2598bbed16ffd701f2a07c99582f057a3decbaf3 /bin/ash -o pipefail -c apk add --no-cache popt && apk add --no-cache --virtual .build-dependencies automake autoconf libtool popt-dev build-base && git clone https://github.com/naggety/picotts.git pico && cd pico/pico && git reset --hard "${PICOTTS_HASH}" && ./autogen.sh && ./configure --disable-static && make && make install && apk del .build-dependencies && rm -rf /usr/src/pico # buildkit |
COPY patches/telldus-fix-gcc-11-issues.patch /usr/src/ # buildkit |
COPY patches/telldus-fix-alpine-3-17-issues.patch /usr/src/ # buildkit |
RUN |6 BUILD_ARCH=amd64 QEMU_CPU= SSOCR_VERSION=2.23.1 LIBCEC_VERSION=6.0.2 PICOTTS_HASH=e3ba46009ee868911fa0b53db672a55f9cc13b1c TELLDUS_COMMIT=2598bbed16ffd701f2a07c99582f057a3decbaf3 /bin/ash -o pipefail -c apk add --no-cache confuse libftdi1 && apk add --no-cache --virtual .build-dependencies argp-standalone build-base cmake confuse-dev doxygen libftdi1-dev && git clone https://github.com/telldus/telldus && cd telldus && git reset --hard "${TELLDUS_COMMIT}" && git apply ../telldus-fix-gcc-11-issues.patch && git apply ../telldus-fix-alpine-3-17-issues.patch && cd telldus-core && cmake . -DBUILD_LIBTELLDUS-CORE=ON -DBUILD_TDADMIN=OFF -DBUILD_TDTOOL=OFF -DGENERATE_MAN=OFF -DFORCE_COMPILE_FROM_TRUNK=ON && make -j"$(nproc)" && make install && apk del .build-dependencies && rm -rf /usr/src/telldus /usr/src/telldus-fix-gcc-11-issues.patch /usr/src/telldus-fix-alpine-3-17-issues.patch # buildkit |
COPY rootfs / # buildkit |
ENV S6_SERVICES_GRACETIME=240000 UV_SYSTEM_PYTHON=true UV_NO_CACHE=true |
ARG QEMU_CPU |
RUN |1 QEMU_CPU= /bin/ash -o pipefail -c pip3 install uv==0.4.28 # buildkit |
WORKDIR /usr/src |
COPY requirements.txt homeassistant/ # buildkit |
COPY homeassistant/package_constraints.txt homeassistant/homeassistant/ # buildkit |
RUN |1 QEMU_CPU= /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 |1 QEMU_CPU= /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 |1 QEMU_CPU= /bin/ash -o pipefail -c uv pip install -e ./homeassistant && python3 -m compileall homeassistant/homeassistant # buildkit |
COPY rootfs / # buildkit |
ARG BUILD_ARCH |
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.7/go2rtc_linux_${go2rtc_suffix} --output /bin/go2rtc && chmod +x /bin/go2rtc && go2rtc --version # buildkit |
WORKDIR /config |
COPY file:24a4772193454c979faef0cef08c57522a4aa534988d0952889465a1c632e9dc in /root/ |
LABEL org.opencontainers.image.created=2024-11-17T00:00:07Z |
LABEL org.opencontainers.image.revision=21c0e45ed38347873bf5e9e0b5b18c54a2299a21 |
LABEL org.opencontainers.image.source=https://git.saintnet.tech/stryan/haldap.git |
LABEL org.opencontainers.image.url=https://git.saintnet.tech/stryan/haldap |
Labels
Key | Value |
---|---|
io.hass.arch | amd64 |
io.hass.base.arch | amd64 |
io.hass.base.image | ghcr.io/home-assistant/amd64-base:3.20 |
io.hass.base.name | python |
io.hass.base.version | 2024.06.1 |
io.hass.type | core |
io.hass.version | 2024.11.2 |
org.opencontainers.image.authors | The Home Assistant Authors |
org.opencontainers.image.created | 2024-11-17T00:00:07Z |
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 License 2.0 |
org.opencontainers.image.revision | 21c0e45ed38347873bf5e9e0b5b18c54a2299a21 |
org.opencontainers.image.source | https://git.saintnet.tech/stryan/haldap.git |
org.opencontainers.image.title | Home Assistant |
org.opencontainers.image.url | https://git.saintnet.tech/stryan/haldap |
org.opencontainers.image.version | 2024.11.2 |