Skip to content

Commit 7f5fbbd

Browse files
committed
1.3.0pre
1 parent ab08eaf commit 7f5fbbd

5 files changed

Lines changed: 140 additions & 143 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
### Added
44
- New base image nfrastack/container-nginx
5-
- Home Assistant 2025.12.5
5+
- Home Assistant 2026.1.0
66
- Home Assistant CLI 4.45.0
77
- Go2RTC 1.9.13
88
- Alpine 3.19 (!) temporarily

Containerfile

Lines changed: 52 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -18,26 +18,26 @@ LABEL \
1818
org.opencontainers.image.licenses="MIT"
1919

2020
ARG \
21-
HOMEASSISTANT_VERSION="2025.12.5" \
21+
HOMEASSISTANT_VERSION="2026.1.0" \
2222
HOMEASSISTANT_CLI_VERSION="4.45.0" \
2323
GO2RTC_VERSION="v1.9.13" \
24+
MIMALLOC_VERSION="v3.0.11" \
2425
JEMALLOC_VERSION="5.3.0" \
2526
PYTHON_VERSION="3.13.11" \
2627
GO2RTC_REPO_URL="https://github.com/AlexxIT/go2rtc" \
2728
HOMEASSISTANT_CLI_REPO_URL="https://github.com/home-assistant/cli" \
2829
HOMEASSISTANT_REPO_URL="https://github.com/home-assistant/core" \
2930
JEMALLOC_REPO_URL="https://github.com/jemalloc/jemalloc" \
31+
MIMALLOC_REPO_URL="https://github.com/microsoft/mimalloc" \
3032
HOMEASSISTANT_COMPONENTS=" \
3133
environment_canada, \
3234
esphome, \
33-
garminconnect, \
3435
github, \
3536
jellyfin, \
3637
meater, \
3738
mqtt, \
3839
roku, \
3940
tuya, \
40-
#xbox, \
4141
zha \
4242
" \
4343
HOMEASSISTANT_COMPONENTS_CORE=" \
@@ -108,7 +108,6 @@ RUN echo "" && \
108108
nmap \
109109
openssl \
110110
pianobar \
111-
#py3-libcec \
112111
socat \
113112
tiff \
114113
" \
@@ -146,19 +145,17 @@ RUN echo "" && \
146145
&& \
147146
\
148147
HOMEASSISTANTCLI_BUILD_DEPS_ALPINE=" \
149-
" \
150-
&& \
148+
" \
149+
&& \
151150
\
152-
JEMALLOC_BUILD_DEPS_ALPINE=" \
153-
autoconf \
151+
MIMALLOC_BUILD_DEPS_ALPINE=" \
152+
cmake \
154153
make \
155154
" \
156155
&& \
157156
PYTHON_BUILD_DEPS_ALPINE=" \
158157
bluez-dev \
159158
bzip2-dev \
160-
#dpkg-dev \
161-
#dpkg \
162159
findutils \
163160
gcc \
164161
gdbm-dev \
@@ -195,7 +192,7 @@ RUN echo "" && \
195192
HOMEASSISTANT_BUILD_DEPS \
196193
HOMEASSISTANT_RUN_DEPS \
197194
HOMEASSISTANTCLI_BUILD_DEPS \
198-
JEMALLOC_BUILD_DEPS \
195+
MIMALLOC_BUILD_DEPS \
199196
PYTHON_BUILD_DEPS \
200197
&& \
201198
mkdir -p /usr/src/python && \
@@ -205,68 +202,67 @@ RUN echo "" && \
205202
alpine ) clib=musl ;; \
206203
debian|ubuntu ) clib=gnu ;; \
207204
esac ; \
208-
./configure \
209-
--build="$(uname -m)-linux-${clib}" \
210-
--enable-loadable-sqlite-extensions \
211-
--enable-option-checking=fatal \
212-
--enable-shared \
213-
--with-lto \
214-
--with-ensurepip \
205+
./configure \
206+
--build="$(uname -m)-linux-${clib}" \
207+
--enable-loadable-sqlite-extensions \
208+
--enable-option-checking=fatal \
209+
--enable-shared \
210+
--with-lto \
211+
--with-ensurepip \
215212
&& \
216213
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000" && \
217214
LDFLAGS="${LDFLAGS:--Wl},--strip-all" && \
218215
case "$(container_info arch)" in \
219216
x86_64 | aarch64) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer" ;; \
220217
* ) EXTRA_CFLAGS="${EXTRA_CFLAGS:-} -fno-omit-frame-pointer" ;; \
221218
esac ; \
222-
make \
219+
make \
223220
-j $(nproc) \
224-
"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \
225-
"LDFLAGS=${LDFLAGS:-}" \
226-
&& \
221+
"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \
222+
"LDFLAGS=${LDFLAGS:-}" \
223+
&& \
227224
rm python && \
228-
make \
225+
make \
229226
-j $(nproc) \
230-
"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \
231-
"LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \
232-
python \
233-
&& \
234-
make install && \
235-
find /usr/local -depth \
227+
"EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" \
228+
"LDFLAGS=${LDFLAGS:--Wl},-rpath='\$\$ORIGIN/../lib'" \
229+
python \
230+
&& \
231+
make install && \
232+
find /usr/local -depth \
236233
\( \
237-
\( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \
238-
-o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \
239-
\) -exec rm -rf '{}' + \
240-
&& \
241-
\
242-
find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \
243-
| tr ',' '\n' \
244-
| sort -u \
245-
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
246-
| xargs -rt apk add --no-network --virtual .python-rundeps \
247-
&& \
248-
export PYTHONDONTWRITEBYTECODE=1 && \
234+
\( -type d -a \( -name test -o -name tests -o -name idle_test \) \) \
235+
-o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \
236+
\) -exec rm -rf '{}' + \
237+
&& \
238+
\
239+
find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \
240+
| tr ',' '\n' \
241+
| sort -u \
242+
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
243+
| xargs -rt apk add --no-network --virtual .python-rundeps \
244+
&& \
245+
export PYTHONDONTWRITEBYTECODE=1 && \
249246
\
250247
for src in idle3 pip3 pydoc3 python3 python3-config; do \
251-
dst="$(echo "$src" | tr -d 3)"; \
252-
[ -s "/usr/local/bin/$src" ]; \
253-
[ ! -e "/usr/local/bin/$dst" ]; \
254-
ln -svT "$src" "/usr/local/bin/$dst"; \
255-
done && \
248+
dst="$(echo "$src" | tr -d 3)"; \
249+
[ -s "/usr/local/bin/$src" ]; \
250+
[ ! -e "/usr/local/bin/$dst" ]; \
251+
ln -svT "$src" "/usr/local/bin/$dst"; \
252+
done && \
256253
\
257254
echo -e "[global]\ndisable-pip-version-check = true\nextra-index-url = https://wheels.home-assistant.io/musllinux-index/\nno-cache-dir = false\nprefer-binary = true" > /etc/pip.conf && \
258255
pip install --break-system-packages uv && \
259256
\
260257
container_build_log add "Python" "${PYTHON_VERSION}" "python.org" && \
261258
\
262-
clone_git_repo "${JEMALLOC_REPO_URL}" "${JEMALLOC_VERSION}" && \
263-
./autogen.sh \
264-
--with-lg-page=16 \
265-
&& \
266-
make -j "$(nproc)" && \
267-
make install_lib_shared install_bin && \
268-
\
269-
container_build_log add "JemAlloc" "${JEMALLOC_VERSION}" "${JEMALLOC_REPO_URL}" && \
259+
clone_git_repo "${MIMALLOC_REPO_URL}" "${MIMALLOC_VERSION}" && \
260+
mkdir -p out/release && \
261+
cd out/release && \
262+
cmake ../.. && \
263+
make && \
264+
make install && \
265+
container_build_log add "MimAlloc" "${MIMALLOC_VERSION}" "${MIMALLOC_REPO_URL}" && \
270266
\
271267
clone_git_repo "${HOMEASSISTANT_REPO_URL}" "${HOMEASSISTANT_VERSION}" /usr/src/homeassistant && \
272268
uv venv /opt/homeassistant && \
@@ -336,7 +332,7 @@ RUN echo "" && \
336332
echo "homeassistant==${HOMEASSISTANT_VERSION}" >> requirements_custom.txt && \
337333
cp requirements_custom.txt /container/build/"${IMAGE_NAME/\//_}"/ && \
338334
export MAKEFLAGS="-j$(nproc) -l$(nproc)" && \
339-
LD_PRELOAD="/usr/local/lib/libjemalloc.so.2" \
335+
LD_PRELOAD="/usr/local/lib/libmimalloc.so.2" \
340336
CFLAGS="-Wno-int-conversion" \
341337
MALLOC_CONF="background_thread:true,metadata_thp:auto,dirty_decay_ms:20000,muzzy_decay_ms:20000" \
342338
sudo -u "${HOMEASSISTANT_USER}" \
@@ -380,6 +376,7 @@ RUN echo "" && \
380376
HOMEASSISTANT_BUILD_DEPS \
381377
HOMEASSISTANTCLI_BUILD_DEPS \
382378
JEMALLOC_BUILD_DEPS \
379+
MIMALLOC_BUILD_DEPS \
383380
PYTHON_BUILD_DEPS \
384381
&& \
385382
rm -rf \

0 commit comments

Comments
 (0)