User Tools

Site Tools


public:home_assistant-docker-beter-division

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
public:home_assistant-docker-beter-division [2026/10/30 17:55] – lukaspublic:home_assistant-docker-beter-division [2026/10/31 08:16] (current) – [Setup Home Assistant Core dependencies] lukas
Line 41: Line 41:
 COPY requirements.txt ./ COPY requirements.txt ./
 COPY homeassistant/*.txt ./homeassistant/ COPY homeassistant/*.txt ./homeassistant/
 +</code>
 +<code>
 +# 3b. DODATEČNÉ KOMPILAČNÍ NÁSTROJE A SYSTÉMOVÉ PYAV
 +# Přidán py3-av, který obsahuje nativně zkompilované PyAV pro vaši verzi FFmpeg
 +RUN apk add --no-cache \
 +    cmake rust cargo samurai ccache autoconf automake \
 +    jpeg-dev openjpeg-dev tiff-dev freetype-dev lcms2-dev libwebp-dev \
 +    ffmpeg-dev pkgconfig py3-av
 +
 +# 4. Zkopírování textových souborů závislostí
 +WORKDIR /tmp
 +COPY requirements.txt ./
 +COPY homeassistant/*.txt ./homeassistant/
 +
 +# =========================================================================
 +# NOVÝ KROK: Odstranění av z requirements, aby se uv nepokoušel o jeho kompilaci
 +# =========================================================================
 +RUN sed -i '/^av==/d' requirements.txt homeassistant/*.txt 2>/dev/null || true
 +
 +# 5. Spuštění kompilace do specifické složky
 +RUN --mount=type=cache,target=/root/.cache/uv \
 +    echo -e "[properties]\nlongdouble_format = 'IEEE_DOUBLE_LE'" > /tmp/meson-native.ini && \
 +    uv pip install \
 +      --config-settings=setup-args="--native-file=/tmp/meson-native.ini" \
 +      --config-settings=compile-args="-j$(nproc)" \
 +      --index-strategy unsafe-best-match \
 +      --target /compiled-packages \
 +      -r requirements.txt && \
 +    rm /tmp/meson-native.ini
 +
 +# ... (zde ponechte vaše LABEL a ENV definice) ...
 +
 +## Setup Home Assistant Core dependencies
 +COPY --parents requirements.txt homeassistant/package_constraints.txt homeassistant/
 +RUN \
 +    go2rtc --version \
 +    && pip3 install --no-cache-dir "uv==$(awk -F'==' '/^uv==/{print $2}' homeassistant/requirements.txt)" \
 +    && sed -i '/^av==/d' homeassistant/requirements.txt 2>/dev/null || true \
 +    && UV_CONCURRENT_BUILDS=1 uv pip install \
 +        --index-strategy unsafe-best-match \
 +        -r homeassistant/requirements.txt
 +
 +COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/
 +RUN \
 +    if ls homeassistant/home_assistant_*.whl 1> /dev/null 2>&1; then \
 +        uv pip install homeassistant/home_assistant_*.whl; \
 +    fi \
 +    && sed -i '/^av==/d' homeassistant/requirements_all.txt 2>/dev/null || true \
 +    && UV_CONCURRENT_BUILDS=1 uv pip install \
 +        --index-strategy unsafe-best-match \
 +        -r homeassistant/requirements_all.txt
 +
 +## Setup Home Assistant Core
 +COPY --parents LICENSE* README* homeassistant/ pyproject.toml homeassistant/
 +# Na konec linkujeme systémové PyAV z Alpine do naší složky compiled-packages
 +RUN \
 +    uv pip install -e ./homeassistant \
 +    && cp -r /usr/lib/python3.*/site-packages/av* /compiled-packages/ 2>/dev/null || true \
 +    && python3 -m compileall homeassistant/homeassistant
 +
 +WORKDIR /config
 +</code>
 +
 +<code>
 +## Setup Home Assistant Core dependencies
 +COPY --parents requirements.txt homeassistant/package_constraints.txt homeassistant/
 +RUN \
 +    go2rtc --version \
 +    && pip3 install --no-cache-dir "uv==$(awk -F'==' '/^uv==/{print $2}' homeassistant/requirements.txt)" \
 +    && export CFLAGS="-DAVERROR_HTTP_TOO_MANY_REQUESTS=-1112362804 -DAV_FRAME_DATA_LCEVC=2" \
 +    && export UV_CONCURRENT_BUILDS=1 \
 +    && uv pip install \
 +        --index-strategy unsafe-best-match \
 +        -r homeassistant/requirements.txt
 +
 +COPY requirements_all.txt home_assistant_frontend-* home_assistant_intents-* homeassistant/
 +RUN \
 +    if ls homeassistant/home_assistant_*.whl 1> /dev/null 2>&1; then \
 +        uv pip install homeassistant/home_assistant_*.whl; \
 +    fi \
 +    && export CFLAGS="-DAVERROR_HTTP_TOO_MANY_REQUESTS=-1112362804 -DAV_FRAME_DATA_LCEVC=2" \
 +    && export UV_CONCURRENT_BUILDS=1 \
 +    && uv pip install \
 +        --index-strategy unsafe-best-match \
 +        -r homeassistant/requirements_all.txt
 +
 </code> </code>
public/home_assistant-docker-beter-division.1793382914.txt.gz · Last modified: by lukas