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/Jenkinsfile b/Jenkinsfile index a804316..540d35a 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -293,7 +293,7 @@ pipeline { -v ${WORKSPACE}:/mnt \ -e AWS_ACCESS_KEY_ID=\"${S3_KEY}\" \ -e AWS_SECRET_ACCESS_KEY=\"${S3_SECRET}\" \ - ghcr.io/linuxserver/baseimage-alpine:3 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ + ghcr.io/linuxserver/baseimage-alpine:3.23 s6-envdir -fn -- /var/run/s6/container_environment /bin/bash -c "\ apk add --no-cache python3 && \ python3 -m venv /lsiopy && \ pip install --no-cache-dir -U pip && \ diff --git a/README.md b/README.md index de422f5..d2051e5 100644 --- a/README.md +++ b/README.md @@ -75,7 +75,7 @@ This image can be run with a non-root user. For details please [read the docs](h To help you get started creating a container from this image you can either use docker-compose or the docker cli. >[!NOTE] ->Unless a parameter is flaged as 'optional', it is *mandatory* and a value must be provided. +>Unless a parameter is flagged as 'optional', it is *mandatory* and a value must be provided. ### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose)) @@ -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."}