This is an old revision of the document!
Table of Contents
==========================================
STAGE 1: Vývojové prostředí, kde vše zkompilujeme
==========================================
FROM ghcr.io/home-assistant/armv7-homeassistant-base:latest AS builder
1. ČISTÉ MINIMUM: Pouze nástroje nezbytné pro kompilaci samotného Pythonu 3.14
Tento krok se spustí JEDNOU a Docker si ho navždy nacachuje.
RUN apk add –no-cache
build-base ffi-dev openssl-dev bzip2-dev zlib-dev
readline-dev sqlite-dev xz-dev wget musl-dev
2. KOMPILACE PYTHONU 3.14
Dokud nezměníte verzi Pythonu (3.14.9), tento krok se už NIKDY nebude opakovat!
RUN wget https://python.org &&
tar -xf Python-3.14.9.tar.xz &&
cd Python-3.14.9 &&
./configure –enable-optimizations –with-ensurepip=install &&
make -j$(nproc) &&
make altinstall &&
cd .. && rm -rf Python-3.14.9*
3. Přesměrování příkazů a instalace UV do nového Pythonu
RUN ln -sf /usr/local/bin/python3.14 /usr/local/bin/python3 &&
ln -sf /usr/local/bin/pip3.14 /usr/local/bin/pip3 &&
pip3 install –no-cache-dir uv
=========================================================================
ZDE JE TA ZMĚNA: Sem můžete kdykoliv přidat autoconf, cmake nebo ccache
a Python se už ZNOVU KOMPILOVAT NEBUDE.
======================================================================# 3b. DODATEČNÉ KOMPILAČNÍ NÁSTROJE PRO PYTHON BALÍČKY (Např. NumPy, DTLSSocket, PyAV...)
Přidány ffmpeg-dev a pkgconfig pro úspěšný build balíčku 'av'
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
===
3b. DODATEČNÉ KOMPILAČNÍ NÁSTROJE PRO PYTHON BALÍČKY (Např. NumPy, DTLSSocket...)
RUN apk add –no-cache
cmake rust cargo samurai ccache autoconf automake
jpeg-dev openjpeg-dev tiff-dev freetype-dev lcms2-dev libwebp-dev
4. Zkopírování textových souborů závislostí
WORKDIR /tmp COPY requirements.txt ./ COPY homeassistant/*.txt ./homeassistant/
