diff --git a/Dockerfile b/Dockerfile index 469a389..d415898 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM ghcr.io/linuxserver/unrar:latest AS unrar -FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy +FROM ghcr.io/linuxserver/baseimage-alpine:3.23 # set version label ARG BUILD_DATE @@ -15,21 +15,20 @@ ARG DEBIAN_FRONTEND="noninteractive" RUN \ echo "**** install build dependencies ****" && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - build-essential \ + apk add --no-cache --virtual=build-dependencies \ + build-base \ + jpeg-dev \ libffi-dev \ - libjpeg9-dev \ libwebp-dev \ python3-dev \ - zlib1g-dev && \ + zlib-dev && \ echo "**** install runtime packages ****" && \ - apt-get install -y --no-install-recommends \ - libjpeg9 \ + apk add --no-cache \ + jpeg \ + libwebp-tools \ nodejs \ - python3-venv \ - webp \ - zlib1g-dev && \ + python3 \ + zlib && \ echo "**** install mylar3 ****" && \ if [ -z ${MYLAR3_RELEASE+x} ]; then \ MYLAR3_RELEASE=$(curl -sX GET https://api.github.com/repos/mylar3/mylar3/commits/1000papercuts \ @@ -46,28 +45,20 @@ RUN \ pip install -U --no-cache-dir \ pip \ wheel && \ - pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ -r requirements.txt && \ + pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ -r requirements.txt && \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ - apt-get -y purge \ - build-essential \ - libffi-dev \ - libjpeg9-dev \ - libwebp-dev \ - python3-dev \ - zlib1g-dev && \ - apt-get -y autoremove && \ + apk del --purge \ + build-dependencies && \ rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/* \ - $HOME/.cache + $HOME/.cache \ + /tmp/* # add local files COPY root/ / # add unrar -COPY --from=unrar /usr/bin/unrar-ubuntu /usr/bin/unrar +COPY --from=unrar /usr/bin/unrar-alpine /usr/bin/unrar # ports and volumes VOLUME /config diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 6e0199d..c3c1bc1 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -2,7 +2,7 @@ FROM ghcr.io/linuxserver/unrar:arm64v8-latest AS unrar -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.23 # set version label ARG BUILD_DATE @@ -15,21 +15,20 @@ ARG DEBIAN_FRONTEND="noninteractive" RUN \ echo "**** install build dependencies ****" && \ - apt-get update && \ - apt-get install -y --no-install-recommends \ - build-essential \ + apk add --no-cache --virtual=build-dependencies \ + build-base \ + jpeg-dev \ libffi-dev \ - libjpeg9-dev \ libwebp-dev \ python3-dev \ - zlib1g-dev && \ + zlib-dev && \ echo "**** install runtime packages ****" && \ - apt-get install -y --no-install-recommends \ - libjpeg9 \ + apk add --no-cache \ + jpeg \ + libwebp-tools \ nodejs \ - python3-venv \ - webp \ - zlib1g-dev && \ + python3 \ + zlib && \ echo "**** install mylar3 ****" && \ if [ -z ${MYLAR3_RELEASE+x} ]; then \ MYLAR3_RELEASE=$(curl -sX GET https://api.github.com/repos/mylar3/mylar3/commits/1000papercuts \ @@ -46,28 +45,20 @@ RUN \ pip install -U --no-cache-dir \ pip \ wheel && \ - pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ -r requirements.txt && \ + pip install --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.23/ -r requirements.txt && \ printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ - apt-get -y purge \ - build-essential \ - libffi-dev \ - libjpeg9-dev \ - libwebp-dev \ - python3-dev \ - zlib1g-dev && \ - apt-get -y autoremove && \ + apk del --purge \ + build-dependencies && \ rm -rf \ - /tmp/* \ - /var/lib/apt/lists/* \ - /var/tmp/* \ - $HOME/.cache + $HOME/.cache \ + /tmp/* # add local files COPY root/ / # add unrar -COPY --from=unrar /usr/bin/unrar-ubuntu /usr/bin/unrar +COPY --from=unrar /usr/bin/unrar-alpine /usr/bin/unrar # ports and volumes VOLUME /config diff --git a/Jenkinsfile b/Jenkinsfile index 674e3cc..08a00fe 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -29,7 +29,7 @@ pipeline { DOCKERHUB_IMAGE = 'linuxserver/mylar3' DEV_DOCKERHUB_IMAGE = 'lsiodev/mylar3' PR_DOCKERHUB_IMAGE = 'lspipepr/mylar3' - DIST_IMAGE = 'ubuntu' + DIST_IMAGE = 'alpine' MULTIARCH='true' CI='true' CI_WEB='true' diff --git a/README.md b/README.md index e2e4e45..b83542c 100644 --- a/README.md +++ b/README.md @@ -60,9 +60,9 @@ This image provides various versions that are available via tags. Please read th | Tag | Available | Description | | :----: | :----: |--- | -| latest | ✅ | Stable Mylar3 releases | -| nightly | ✅ | Commits to Mylar3 `python3-dev` branch | -| unstable | ✅ | Commits to Mylar3 `1000papercuts` branch | +| latest | ✅ | Commits to Mylar3 `python3-dev` branch | +| nightly | ✅ | Commits to Mylar3 `1000papercuts` branch (ubuntu) | +| unstable | ✅ | Commits to Mylar3 `1000papercuts` branch (alpine) | ## Application Setup @@ -289,4 +289,5 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **19.02.26:** - Rebase `unstable` tag to alpine 3.23. * **05.02.26:** - Release `unstable` tag based on commits to upstream `1000papercuts` branch. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index cd4804a..d8e3923 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -17,7 +17,7 @@ repo_vars: - DOCKERHUB_IMAGE = 'linuxserver/mylar3' - DEV_DOCKERHUB_IMAGE = 'lsiodev/mylar3' - PR_DOCKERHUB_IMAGE = 'lspipepr/mylar3' - - DIST_IMAGE = 'ubuntu' + - DIST_IMAGE = 'alpine' - MULTIARCH='true' - CI='true' - CI_WEB='true' diff --git a/readme-vars.yml b/readme-vars.yml index 64a0268..7ef193a 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -13,9 +13,9 @@ available_architectures: # development version development_versions: true development_versions_items: - - {tag: "latest", desc: "Stable Mylar3 releases"} - - {tag: "nightly", desc: "Commits to Mylar3 `python3-dev` branch"} - - {tag: "unstable", desc: "Commits to Mylar3 `1000papercuts` branch"} + - {tag: "latest", desc: "Commits to Mylar3 `python3-dev` branch"} + - {tag: "nightly", desc: "Commits to Mylar3 `1000papercuts` branch (ubuntu)"} + - {tag: "unstable", desc: "Commits to Mylar3 `1000papercuts` branch (alpine)"} # container parameters param_container_name: "{{ project_name }}" param_usage_include_vols: true @@ -79,4 +79,5 @@ init_diagram: | "mylar3:unstable" <- Base Images # changelog changelogs: + - {date: "19.02.26:", desc: "Rebase `unstable` tag to alpine 3.23."} - {date: "05.02.26:", desc: "Release `unstable` tag based on commits to upstream `1000papercuts` branch."}