diff --git a/Dockerfile b/Dockerfile index cc11920..695b865 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:3.22 +FROM ghcr.io/linuxserver/baseimage-alpine:3.23 ARG BUILD_DATE ARG VERSION @@ -8,7 +8,8 @@ ARG CHANGEDETECTION_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="thespad" -ENV PYTHONUNBUFFERED=1 +ENV PYTHONUNBUFFERED=1 \ + CRYPTOGRAPHY_DONT_BUILD_RUST=1 RUN \ apk add --update --no-cache --virtual=build-dependencies \ @@ -46,9 +47,8 @@ RUN \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \ - setuptools \ - wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ -r /app/changedetection/requirements.txt && \ + setuptools && \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ -r /app/changedetection/requirements.txt && \ PLAYWRIGHT_PY_RELEASE=$(curl -sX GET "https://api.github.com/repos/microsoft/playwright-python/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \ git clone --depth 1 --branch "${PLAYWRIGHT_PY_RELEASE}" https://github.com/microsoft/playwright-python /tmp/playwright-python && \ @@ -56,8 +56,7 @@ RUN \ pip install -U --no-cache-dir . && \ rm -f /lsiopy/lib/python3.12/site-packages/playwright/driver/node && \ ln -s /usr/bin/node /lsiopy/lib/python3.12/site-packages/playwright/driver/node && \ - # Force UTF-8 encoding for browser steps to prevent exception - sed -i "s|xpath_element_js = importlib.resources.files(\"changedetectionio.content_fetchers.res\").joinpath('xpath_element_scraper.js').read_text()|xpath_element_js = importlib.resources.files(\"changedetectionio.content_fetchers.res\").joinpath('xpath_element_scraper.js').read_text(encoding='utf-8')|" /app/changedetection/changedetectionio/blueprint/browser_steps/browser_steps.py && \ + pybabel compile -d /app/changedetection/changedetectionio/translations && \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apk del --purge \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index aeae884..9eb54ba 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.22 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.23 ARG BUILD_DATE ARG VERSION @@ -8,7 +8,8 @@ ARG CHANGEDETECTION_RELEASE LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" LABEL maintainer="thespad" -ENV PYTHONUNBUFFERED=1 +ENV PYTHONUNBUFFERED=1 \ + CRYPTOGRAPHY_DONT_BUILD_RUST=1 RUN \ apk add --update --no-cache --virtual=build-dependencies \ @@ -46,9 +47,8 @@ RUN \ python3 -m venv /lsiopy && \ pip install -U --no-cache-dir \ pip \ - setuptools \ - wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.22/ -r /app/changedetection/requirements.txt && \ + setuptools && \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ -r /app/changedetection/requirements.txt && \ echo "**** install playwright ****" && \ PLAYWRIGHT_PY_RELEASE=$(curl -sX GET "https://api.github.com/repos/microsoft/playwright-python/releases/latest" \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \ @@ -57,8 +57,7 @@ RUN \ pip install -U --no-cache-dir . && \ rm -f /lsiopy/lib/python3.12/site-packages/playwright/driver/node && \ ln -s /usr/bin/node /lsiopy/lib/python3.12/site-packages/playwright/driver/node && \ - # Force UTF-8 encoding for browser steps to prevent exception - sed -i "s|xpath_element_js = importlib.resources.files(\"changedetectionio.content_fetchers.res\").joinpath('xpath_element_scraper.js').read_text()|xpath_element_js = importlib.resources.files(\"changedetectionio.content_fetchers.res\").joinpath('xpath_element_scraper.js').read_text(encoding='utf-8')|" /app/changedetection/changedetectionio/blueprint/browser_steps/browser_steps.py && \ + pybabel compile -d /app/changedetection/changedetectionio/translations && \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apk del --purge \ diff --git a/README.md b/README.md index dcfdf95..d2051e5 100644 --- a/README.md +++ b/README.md @@ -292,6 +292,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **18.01.26:** - Rebase to Alpine 3.23. * **05.07.25:** - Rebase to Alpine 3.22. * **19.12.24:** - Rebase to Alpine 3.21. * **31.05.24:** - Rebase to Alpine 3.20. diff --git a/readme-vars.yml b/readme-vars.yml index 723d5a0..e595386 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -95,6 +95,7 @@ init_diagram: | "changedetection.io:latest" <- Base Images # changelog changelogs: + - {date: "18.02.26:", desc: "Rebase to Alpine 3.23."} - {date: "05.07.25:", desc: "Rebase to Alpine 3.22."} - {date: "19.12.24:", desc: "Rebase to Alpine 3.21."} - {date: "31.05.24:", desc: "Rebase to Alpine 3.20."}