diff --git a/.github/ISSUE_TEMPLATE/issue.bug.yml b/.github/ISSUE_TEMPLATE/issue.bug.yml index 59a10f5..ce3d19a 100755 --- a/.github/ISSUE_TEMPLATE/issue.bug.yml +++ b/.github/ISSUE_TEMPLATE/issue.bug.yml @@ -53,7 +53,6 @@ body: options: - x86-64 - arm64 - - armhf validations: required: true - type: textarea diff --git a/Dockerfile b/Dockerfile index 9187c7a..97cfdb7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.17 +FROM ghcr.io/linuxserver/baseimage-alpine-nginx:3.18 # set version label ARG BUILD_DATE @@ -20,21 +20,18 @@ RUN \ gpg \ gpg-agent \ gnupg-dirmngr && \ - apk add -U --upgrade --no-cache \ - php81-bz2 \ - php81-curl \ - php81-dom \ - php81-gd \ - php81-iconv \ - php81-mysqli \ - php81-opcache \ - php81-pecl-uploadprogress \ - php81-tokenizer \ - php81-zip && \ + apk add --no-cache \ + php82-bz2 \ + php82-dom \ + php82-gd \ + php82-mysqli \ + php82-opcache \ + php82-pecl-uploadprogress \ + php82-tokenizer && \ echo "**** configure php-fpm to pass env vars ****" && \ - sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php81/php-fpm.d/www.conf && \ - grep -qxF 'clear_env = no' /etc/php81/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php81/php-fpm.d/www.conf && \ - echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php81/php-fpm.conf && \ + sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php82/php-fpm.d/www.conf && \ + grep -qxF 'clear_env = no' /etc/php82/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php82/php-fpm.d/www.conf && \ + echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php82/php-fpm.conf && \ echo "**** setup php opcache ****" && \ { \ echo 'opcache.memory_consumption=128'; \ @@ -42,12 +39,12 @@ RUN \ echo 'opcache.max_accelerated_files=4000'; \ echo 'opcache.revalidate_freq=2'; \ echo 'opcache.fast_shutdown=1'; \ - } > /etc/php81/conf.d/opcache-recommended.ini; \ + } > /etc/php82/conf.d/opcache-recommended.ini; \ \ { \ echo 'session.cookie_httponly=1'; \ echo 'session.use_strict_mode=1'; \ - } > /etc/php81/conf.d/session-strict.ini; \ + } > /etc/php82/conf.d/session-strict.ini; \ \ { \ echo 'allow_url_fopen=Off'; \ @@ -56,7 +53,7 @@ RUN \ echo 'memory_limit=${MEMORY_LIMIT}'; \ echo 'post_max_size=${UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${UPLOAD_LIMIT}'; \ - } > /etc/php81/conf.d/phpmyadmin-misc.ini && \ + } > /etc/php82/conf.d/phpmyadmin-misc.ini && \ echo "**** install phpmyadmin ****" && \ mkdir -p /app/www/public && \ if [ -z ${PHPMYADMIN_VERSION+x} ]; then \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 2555e13..2fc525e 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,6 +1,6 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.17 +FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm64v8-3.18 # set version label ARG BUILD_DATE @@ -20,21 +20,18 @@ RUN \ gpg \ gpg-agent \ gnupg-dirmngr && \ - apk add -U --upgrade --no-cache \ - php81-bz2 \ - php81-curl \ - php81-dom \ - php81-gd \ - php81-iconv \ - php81-mysqli \ - php81-opcache \ - php81-pecl-uploadprogress \ - php81-tokenizer \ - php81-zip && \ + apk add --no-cache \ + php82-bz2 \ + php82-dom \ + php82-gd \ + php82-mysqli \ + php82-opcache \ + php82-pecl-uploadprogress \ + php82-tokenizer && \ echo "**** configure php-fpm to pass env vars ****" && \ - sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php81/php-fpm.d/www.conf && \ - grep -qxF 'clear_env = no' /etc/php81/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php81/php-fpm.d/www.conf && \ - echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php81/php-fpm.conf && \ + sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php82/php-fpm.d/www.conf && \ + grep -qxF 'clear_env = no' /etc/php82/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php82/php-fpm.d/www.conf && \ + echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php82/php-fpm.conf && \ echo "**** setup php opcache ****" && \ { \ echo 'opcache.memory_consumption=128'; \ @@ -42,12 +39,12 @@ RUN \ echo 'opcache.max_accelerated_files=4000'; \ echo 'opcache.revalidate_freq=2'; \ echo 'opcache.fast_shutdown=1'; \ - } > /etc/php81/conf.d/opcache-recommended.ini; \ + } > /etc/php82/conf.d/opcache-recommended.ini; \ \ { \ echo 'session.cookie_httponly=1'; \ echo 'session.use_strict_mode=1'; \ - } > /etc/php81/conf.d/session-strict.ini; \ + } > /etc/php82/conf.d/session-strict.ini; \ \ { \ echo 'allow_url_fopen=Off'; \ @@ -56,7 +53,7 @@ RUN \ echo 'memory_limit=${MEMORY_LIMIT}'; \ echo 'post_max_size=${UPLOAD_LIMIT}'; \ echo 'upload_max_filesize=${UPLOAD_LIMIT}'; \ - } > /etc/php81/conf.d/phpmyadmin-misc.ini && \ + } > /etc/php82/conf.d/phpmyadmin-misc.ini && \ echo "**** install phpmyadmin ****" && \ mkdir -p /app/www/public && \ if [ -z ${PHPMYADMIN_VERSION+x} ]; then \ diff --git a/Dockerfile.armhf b/Dockerfile.armhf deleted file mode 100644 index ece8cf5..0000000 --- a/Dockerfile.armhf +++ /dev/null @@ -1,94 +0,0 @@ -# syntax=docker/dockerfile:1 - -FROM ghcr.io/linuxserver/baseimage-alpine-nginx:arm32v7-3.17 - -# set version label -ARG BUILD_DATE -ARG VERSION -ARG PHPMYADMIN_VERSION -LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}" -LABEL maintainer="TheSpad" - -# environment settings -ARG PHPMYADMIN_RELEASE_GPG_KEY="3D06A59ECE730EB71B511C17CE752F178259BD92" -ENV MAX_EXECUTION_TIME 600 -ENV MEMORY_LIMIT 512M -ENV UPLOAD_LIMIT 8192K - -RUN \ - apk add --no-cache --virtual=build-dependencies \ - gpg \ - gpg-agent \ - gnupg-dirmngr && \ - apk add -U --upgrade --no-cache \ - php81-bz2 \ - php81-curl \ - php81-dom \ - php81-gd \ - php81-iconv \ - php81-mysqli \ - php81-opcache \ - php81-pecl-uploadprogress \ - php81-tokenizer \ - php81-zip && \ - echo "**** configure php-fpm to pass env vars ****" && \ - sed -E -i 's/^;?clear_env ?=.*$/clear_env = no/g' /etc/php81/php-fpm.d/www.conf && \ - grep -qxF 'clear_env = no' /etc/php81/php-fpm.d/www.conf || echo 'clear_env = no' >> /etc/php81/php-fpm.d/www.conf && \ - echo "env[PATH] = /usr/local/bin:/usr/bin:/bin" >> /etc/php81/php-fpm.conf && \ - echo "**** setup php opcache ****" && \ - { \ - echo 'opcache.memory_consumption=128'; \ - echo 'opcache.interned_strings_buffer=8'; \ - echo 'opcache.max_accelerated_files=4000'; \ - echo 'opcache.revalidate_freq=2'; \ - echo 'opcache.fast_shutdown=1'; \ - } > /etc/php81/conf.d/opcache-recommended.ini; \ - \ - { \ - echo 'session.cookie_httponly=1'; \ - echo 'session.use_strict_mode=1'; \ - } > /etc/php81/conf.d/session-strict.ini; \ - \ - { \ - echo 'allow_url_fopen=Off'; \ - echo 'max_execution_time=${MAX_EXECUTION_TIME}'; \ - echo 'max_input_vars=10000'; \ - echo 'memory_limit=${MEMORY_LIMIT}'; \ - echo 'post_max_size=${UPLOAD_LIMIT}'; \ - echo 'upload_max_filesize=${UPLOAD_LIMIT}'; \ - } > /etc/php81/conf.d/phpmyadmin-misc.ini && \ - echo "**** install phpmyadmin ****" && \ - mkdir -p /app/www/public && \ - if [ -z ${PHPMYADMIN_VERSION+x} ]; then \ - PHPMYADMIN_VERSION=$(curl -sL 'https://www.phpmyadmin.net/home_page/version.txt' \ - | head -n 1 | cut -d ' ' -f 1); \ - fi && \ - curl -s -o \ - /tmp/phpmyadmin.tar.xz -L \ - "https://files.phpmyadmin.net/phpMyAdmin/${PHPMYADMIN_VERSION}/phpMyAdmin-${PHPMYADMIN_VERSION}-all-languages.tar.xz" && \ - curl -s -o \ - "/tmp/phpmyadmin.tar.xz.asc" -L \ - "https://files.phpmyadmin.net/phpMyAdmin/${PHPMYADMIN_VERSION}/phpMyAdmin-${PHPMYADMIN_VERSION}-all-languages.tar.xz.asc" && \ - export GNUPGHOME="$(mktemp -d)" && \ - gpg --batch -q --keyserver keyserver.ubuntu.com --recv-keys "$PHPMYADMIN_RELEASE_GPG_KEY" \ - || gpg --batch -q --keyserver pgp.mit.edu --recv-keys "$PHPMYADMIN_RELEASE_GPG_KEY" \ - || gpg --batch -q --keyserver keyserver.pgp.com --recv-keys "$PHPMYADMIN_RELEASE_GPG_KEY" \ - || gpg --batch -q --keyserver keys.openpgp.org --recv-keys "$PHPMYADMIN_RELEASE_GPG_KEY" && \ - if ! gpg --batch -q --verify "/tmp/phpmyadmin.tar.xz.asc" "/tmp/phpmyadmin.tar.xz"; then \ - echo "File signature mismatch"; \ - exit 1; \ - fi && \ - tar xf \ - /tmp/phpmyadmin.tar.xz -C \ - /app/www/public/ --strip-components=1 && \ - sed -i "s@'configFile' =>.*@'configFile' => '/config/phpmyadmin/config.inc.php',@" "/app/www/public/libraries/vendor_config.php" && \ - echo "**** cleanup ****" && \ - apk del --purge \ - build-dependencies && \ - rm -rf \ - /tmp/* \ - /app/www/public/setup - -COPY root/ / - -EXPOSE 80 443 diff --git a/Jenkinsfile b/Jenkinsfile index 3f406ea..ae949e0 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -42,7 +42,12 @@ pipeline { // Setup all the basic environment variables needed for the build stage("Set ENV Variables base"){ steps{ - sh '''docker pull quay.io/skopeo/stable:v1 || : ''' + sh '''#! /bin/bash + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : ''' script{ env.EXIT_STATUS = '' env.LS_RELEASE = sh( @@ -161,7 +166,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } else { env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER } @@ -184,7 +189,7 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } else { env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA } @@ -207,12 +212,12 @@ pipeline { env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME if (env.MULTIARCH == 'true') { - env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } else { - env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST } - env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST - env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/' @@ -340,6 +345,8 @@ pipeline { git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-logo.png ]]; then sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-logo.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml + elif [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then + sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml fi if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/.jenkins-external/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then cd ${TEMPDIR}/unraid/templates/ @@ -431,8 +438,7 @@ pipeline { } steps{ sh '''#! /bin/bash - set -e - PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/phpmyadmin") | .uuid') + PACKAGE_UUID=$(curl -X GET -H "Authorization: Bearer ${SCARF_TOKEN}" https://scarf.sh/api/v1/organizations/linuxserver-ci/packages | jq -r '.[] | select(.name=="linuxserver/phpmyadmin") | .uuid' || :) if [ -z "${PACKAGE_UUID}" ]; then echo "Adding package to Scarf.sh" curl -sX POST https://scarf.sh/api/v1/organizations/linuxserver-ci/packages \ @@ -512,41 +518,6 @@ pipeline { --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." } } - stage('Build ARMHF') { - agent { - label 'ARMHF' - } - steps { - echo "Running on node: ${NODE_NAME}" - echo 'Logging into Github' - sh '''#! /bin/bash - echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin - ''' - sh "sed -r -i 's|(^FROM .*)|\\1\\n\\nENV LSIO_FIRST_PARTY=true|g' Dockerfile.armhf" - sh "docker buildx build \ - --label \"org.opencontainers.image.created=${GITHUB_DATE}\" \ - --label \"org.opencontainers.image.authors=linuxserver.io\" \ - --label \"org.opencontainers.image.url=https://github.com/linuxserver/docker-phpmyadmin/packages\" \ - --label \"org.opencontainers.image.documentation=https://docs.linuxserver.io/images/docker-phpmyadmin\" \ - --label \"org.opencontainers.image.source=https://github.com/linuxserver/docker-phpmyadmin\" \ - --label \"org.opencontainers.image.version=${EXT_RELEASE_CLEAN}-ls${LS_TAG_NUMBER}\" \ - --label \"org.opencontainers.image.revision=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.vendor=linuxserver.io\" \ - --label \"org.opencontainers.image.licenses=GPL-3.0-only\" \ - --label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \ - --label \"org.opencontainers.image.title=Phpmyadmin\" \ - --label \"org.opencontainers.image.description=[Phpmyadmin](https://github.com/phpmyadmin/phpmyadmin/) is a free software tool written in PHP, intended to handle the administration of MySQL over the Web. phpMyAdmin supports a wide range of operations on MySQL and MariaDB. \" \ - --no-cache --pull -f Dockerfile.armhf -t ${IMAGE}:arm32v7-${META_TAG} --platform=linux/arm/v7 \ - --build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ." - sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - retry(5) { - sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER}" - } - sh '''docker rmi \ - ${IMAGE}:arm32v7-${META_TAG} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} || :''' - } - } stage('Build ARM64') { agent { label 'ARM64' @@ -577,9 +548,12 @@ pipeline { retry(5) { sh "docker push ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}" } - sh '''docker rmi \ - ${IMAGE}:arm64v8-${META_TAG} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :''' + sh '''#! /bin/bash + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : ''' } } } @@ -640,13 +614,6 @@ pipeline { environment name: 'EXIT_STATUS', value: '' } steps { - sh '''#! /bin/bash - echo "Packages were updated. Cleaning up the image and exiting." - if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then - docker rmi ${IMAGE}:amd64-${META_TAG} - else - docker rmi ${IMAGE}:${META_TAG} - fi''' script{ env.EXIT_STATUS = 'ABORTED' } @@ -664,13 +631,6 @@ pipeline { } } steps { - sh '''#! /bin/bash - echo "There are no package updates. Cleaning up the image and exiting." - if [ "${MULTIARCH}" == "true" ] && [ "${PACKAGE_CHECK}" == "false" ]; then - docker rmi ${IMAGE}:amd64-${META_TAG} - else - docker rmi ${IMAGE}:${META_TAG} - fi''' script{ env.EXIT_STATUS = 'ABORTED' } @@ -698,9 +658,7 @@ pipeline { set -e docker pull ghcr.io/linuxserver/ci:latest if [ "${MULTIARCH}" == "true" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi docker run --rm \ @@ -771,17 +729,6 @@ pipeline { done ''' } - sh '''#! /bin/bash - for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do - docker rmi \ - ${DELETEIMAGE}:${META_TAG} \ - ${DELETEIMAGE}:${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:latest || : - if [ -n "${SEMVER}" ]; then - docker rmi ${DELETEIMAGE}:${SEMVER} || : - fi - done - ''' } } } @@ -814,8 +761,6 @@ pipeline { echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin if [ "${CI}" == "false" ]; then - docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} - docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG} docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG} fi @@ -823,49 +768,47 @@ pipeline { docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} - docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${SEMVER} - docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker push ${MANIFESTIMAGE}:amd64-${META_TAG} docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:amd64-latest - docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG} - docker push ${MANIFESTIMAGE}:arm32v7-latest - docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker push ${MANIFESTIMAGE}:arm64v8-latest docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} if [ -n "${SEMVER}" ]; then docker push ${MANIFESTIMAGE}:amd64-${SEMVER} - docker push ${MANIFESTIMAGE}:arm32v7-${SEMVER} docker push ${MANIFESTIMAGE}:arm64v8-${SEMVER} fi docker manifest push --purge ${MANIFESTIMAGE}:latest || : - docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest - docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8 docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} || : - docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} - docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8 if [ -n "${SEMVER}" ]; then docker manifest push --purge ${MANIFESTIMAGE}:${SEMVER} || : - docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} - docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm32v7-${SEMVER} --os linux --arch arm + docker manifest create ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} docker manifest annotate ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} --os linux --arch arm64 --variant v8 fi + token=$(curl -sX GET "https://ghcr.io/token?scope=repository%3Alinuxserver%2F${CONTAINER_NAME}%3Apull" | jq -r '.token') + digest=$(curl -s \ + --header "Accept: application/vnd.docker.distribution.manifest.v2+json" \ + --header "Authorization: Bearer ${token}" \ + "https://ghcr.io/v2/linuxserver/${CONTAINER_NAME}/manifests/arm32v7-latest") + if [[ $(echo "$digest" | jq -r '.layers') != "null" ]]; then + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest || : + docker manifest create ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:amd64-latest + docker manifest push --purge ${MANIFESTIMAGE}:arm32v7-latest + fi docker manifest push --purge ${MANIFESTIMAGE}:latest docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} @@ -875,29 +818,6 @@ pipeline { done ''' } - sh '''#! /bin/bash - for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${QUAYIMAGE}" "${IMAGE}"; do - docker rmi \ - ${DELETEIMAGE}:amd64-${META_TAG} \ - ${DELETEIMAGE}:amd64-latest \ - ${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:arm32v7-${META_TAG} \ - ${DELETEIMAGE}:arm32v7-latest \ - ${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \ - ${DELETEIMAGE}:arm64v8-${META_TAG} \ - ${DELETEIMAGE}:arm64v8-latest \ - ${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || : - if [ -n "${SEMVER}" ]; then - docker rmi \ - ${DELETEIMAGE}:amd64-${SEMVER} \ - ${DELETEIMAGE}:arm32v7-${SEMVER} \ - ${DELETEIMAGE}:arm64v8-${SEMVER} || : - fi - done - docker rmi \ - ghcr.io/linuxserver/lsiodev-buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \ - ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || : - ''' } } } @@ -968,7 +888,6 @@ pipeline { stage('Pull Request Comment') { when { not {environment name: 'CHANGE_ID', value: ''} - environment name: 'CI', value: 'true' environment name: 'EXIT_STATUS', value: '' } steps { @@ -1022,16 +941,24 @@ pipeline { echo "$escaped_table" } - # Retrieve JSON data from URL - data=$(get_json "$CI_JSON_URL") - # Create table from JSON data - table=$(build_table "$data") - echo -e "$table" + if [[ "${CI}" = "true" ]]; then + # Retrieve JSON data from URL + data=$(get_json "$CI_JSON_URL") + # Create table from JSON data + table=$(build_table "$data") + echo -e "$table" - curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ - -H "Accept: application/vnd.github.v3+json" \ - "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ - -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}"''' + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here are the test results for this PR: \\n${CI_URL}\\n${SHELLCHECK_URL}\\n${table}\\"}" + else + curl -X POST -H "Authorization: token $GITHUB_TOKEN" \ + -H "Accept: application/vnd.github.v3+json" \ + "https://api.github.com/repos/$LS_USER/$LS_REPO/issues/$PULL_REQUEST/comments" \ + -d "{\\"body\\": \\"I am a bot, here is the pushed image/manifest for this PR: \\n\\n\\`${GITHUBIMAGE}:${META_TAG}\\`\\"}" + fi + ''' } } @@ -1058,6 +985,14 @@ pipeline { } } cleanup { + sh '''#! /bin/bash + echo "Performing docker system prune!!" + containers=$(docker ps -aq) + if [[ -n "${containers}" ]]; then + docker stop ${containers} + fi + docker system prune -af --volumes || : + ''' cleanWs() } } diff --git a/README.md b/README.md index a671a33..c700419 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ The architectures supported by this image are: | :----: | :----: | ---- | | x86-64 | ✅ | amd64-\ | | arm64 | ✅ | arm64v8-\ | -| armhf | ✅ | arm32v7-\ | +| armhf | ❌ | | ## Application Setup @@ -232,6 +232,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **25.05.23:** - Rebase to Alpine 3.18, deprecate armhf. * **13.04.23:** - Move ssl.conf include to default.conf. * **20.01.23:** - Rebase to alpine 3.17 with php8.1. * **18.11.22:** - Rebasing to Alpine 3.16, migrate to s6v3. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index 16b5a66..bf148eb 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -7,6 +7,7 @@ custom_version_command: "curl -sL 'https://www.phpmyadmin.net/home_page/version. release_type: stable release_tag: latest ls_branch: main +build_armhf: false repo_vars: - EXT_GIT_BRANCH = 'master' - EXT_USER = 'phpmyadmin' diff --git a/package_versions.txt b/package_versions.txt index 475b586..6e3a9fd 100755 --- a/package_versions.txt +++ b/package_versions.txt @@ -1,161 +1,161 @@ -NAME VERSION TYPE -alpine-baselayout 3.4.0-r0 apk -alpine-baselayout-data 3.4.0-r0 apk -alpine-keys 2.4-r1 apk -alpine-release 3.17.3-r0 apk -aom-libs 3.5.0-r0 apk -apache2-utils 2.4.57-r0 apk -apk-tools 2.12.10-r1 apk -apr 1.7.2-r0 apk -apr-util 1.6.3-r0 apk -argon2-libs 20190702-r2 apk -bacon/bacon-qr-code 2.0.8 php-composer -bash 5.2.15-r0 apk -beberlei/assert v3.3.2 php-composer -brick/math 0.8.17 php-composer -brotli-libs 1.0.9-r9 apk -busybox 1.35.0 binary -busybox 1.35.0-r29 apk -busybox-binsh 1.35.0-r29 apk -ca-certificates 20230506-r0 apk -ca-certificates-bundle 20230506-r0 apk -code-lts/u2f-php-server v1.2.1 php-composer -composer/ca-bundle 1.3.5 php-composer -coreutils 9.1-r0 apk -curl 8.0.1-r0 apk -dasprid/enum 1.0.3 php-composer -fgrosse/phpasn1 v2.5.0 php-composer -fig/http-message-util 1.1.5 php-composer -freetype 2.12.1-r0 apk -git 2.38.5-r0 apk -google/recaptcha 1.2.4 php-composer -jq 1.6-r2 apk -league/uri 6.4.0 php-composer -league/uri-interfaces 2.3.0 php-composer -libacl 2.3.1-r1 apk -libattr 2.5.1-r2 apk -libavif 0.11.1-r0 apk -libbsd 0.11.7-r0 apk -libbz2 1.0.8-r4 apk -libc-utils 0.7.2-r3 apk -libcrypto3 3.0.8-r4 apk -libcurl 8.1.0-r1 apk -libdav1d 1.0.0-r2 apk -libedit 20221030.3.1-r0 apk -libexpat 2.5.0-r0 apk -libgcc 12.2.1_git20220924-r4 apk -libice 1.0.10-r1 apk -libintl 0.21.1-r1 apk -libjpeg-turbo 2.1.4-r0 apk -libmd 1.0.4-r0 apk -libpng 1.6.38-r0 apk -libproc 3.3.17-r2 apk -libsm 1.2.3-r1 apk -libssl3 3.0.8-r4 apk -libuuid 2.38.1-r1 apk -libwebp 1.2.4-r1 apk -libx11 1.8.4-r0 apk -libxau 1.0.10-r0 apk -libxcb 1.15-r0 apk -libxdmcp 1.1.4-r0 apk -libxext 1.3.5-r0 apk -libxml2 2.10.4-r0 apk -libxpm 3.5.15-r0 apk -libxt 1.2.1-r0 apk -libzip 1.9.2-r2 apk -linux-pam 1.5.2-r1 apk -logrotate 3.20.1-r3 apk -musl 1.2.3-r5 apk -musl-utils 1.2.3-r4 apk -nano 7.0-r0 apk -ncurses-libs 6.3_p20221119-r0 apk -ncurses-terminfo-base 6.3_p20221119-r0 apk -netcat-openbsd 1.130-r4 apk -nghttp2-libs 1.51.0-r0 apk -nginx 1.22.1-r0 apk -nikic/fast-route v1.3.0 php-composer -oniguruma 6.9.8-r0 apk -openssl 3.0.8-r4 apk -paragonie/constant_time_encoding v2.6.3 php-composer -paragonie/random_compat v9.99.100 php-composer -paragonie/sodium_compat v1.19.0 php-composer -pcre 8.45-r2 apk -pcre2 10.42-r0 apk -php-cli 8.1.19 binary -php-fpm 8.1.19 binary -php81 8.1.19-r0 apk -php81-bz2 8.1.19-r0 apk -php81-common 8.1.19-r0 apk -php81-curl 8.1.19-r0 apk -php81-dom 8.1.19-r0 apk -php81-fileinfo 8.1.19-r0 apk -php81-fpm 8.1.19-r0 apk -php81-gd 8.1.19-r0 apk -php81-iconv 8.1.19-r0 apk -php81-mbstring 8.1.19-r0 apk -php81-mysqli 8.1.19-r0 apk -php81-mysqlnd 8.1.19-r0 apk -php81-opcache 8.1.19-r0 apk -php81-openssl 8.1.19-r0 apk -php81-pecl-uploadprogress 2.0.2-r0 apk -php81-session 8.1.19-r0 apk -php81-simplexml 8.1.19-r0 apk -php81-tokenizer 8.1.19-r0 apk -php81-xml 8.1.19-r0 apk -php81-xmlwriter 8.1.19-r0 apk -php81-zip 8.1.19-r0 apk -phpmyadmin 5.2.1 npm -phpmyadmin/motranslator 5.3.0 php-composer -phpmyadmin/shapefile 3.0.1 php-composer -phpmyadmin/sql-parser 5.7.0 php-composer -phpmyadmin/twig-i18n-extension v4.0.1 php-composer -popt 1.19-r0 apk -pragmarx/google2fa v8.0.1 php-composer -pragmarx/google2fa-qrcode v2.1.1 php-composer -procps 3.3.17-r2 apk -psr/cache 1.0.1 php-composer -psr/container 1.1.1 php-composer -psr/http-client 1.0.1 php-composer -psr/http-factory 1.0.1 php-composer -psr/http-message 1.0.1 php-composer -psr/log 1.1.4 php-composer -ralouphie/getallheaders 3.0.3 php-composer -ramsey/collection 1.1.4 php-composer -ramsey/uuid 4.2.3 php-composer -readline 8.2.0-r0 apk -scanelf 1.3.5-r1 apk -shadow 4.13-r0 apk -skalibs 2.12.0.1-r0 apk -slim/psr7 1.4 php-composer -spomky-labs/base64url v2.0.4 php-composer -spomky-labs/cbor-php v1.1.1 php-composer -ssl_client 1.35.0-r29 apk -symfony/cache v5.4.19 php-composer -symfony/cache-contracts v2.5.2 php-composer -symfony/config v5.4.19 php-composer -symfony/dependency-injection v5.4.20 php-composer -symfony/deprecation-contracts v2.5.2 php-composer -symfony/expression-language v5.4.19 php-composer -symfony/filesystem v5.4.19 php-composer -symfony/polyfill-ctype v1.27.0 php-composer -symfony/polyfill-mbstring v1.27.0 php-composer -symfony/polyfill-php73 v1.27.0 php-composer -symfony/polyfill-php80 v1.27.0 php-composer -symfony/polyfill-php81 v1.27.0 php-composer -symfony/process v5.4.19 php-composer -symfony/service-contracts v2.5.2 php-composer -symfony/var-exporter v5.4.19 php-composer -tecnickcom/tcpdf 6.6.2 php-composer -thecodingmachine/safe v1.3.3 php-composer -twig/twig v3.5.0 php-composer -tzdata 2023c-r0 apk -utmps-libs 0.1.2.0-r1 apk -web-auth/cose-lib v3.3.12 php-composer -web-auth/metadata-service v3.3.12 php-composer -web-auth/webauthn-lib v3.3.12 php-composer -webmozart/assert 1.11.0 php-composer -williamdes/mariadb-mysql-kbs v1.2.14 php-composer -xz 5.2.9-r0 apk -xz-libs 5.2.9-r0 apk -zlib 1.2.13-r0 apk -zstd-libs 1.5.5-r0 apk +NAME VERSION TYPE +alpine-baselayout 3.4.0-r0 apk +alpine-baselayout-data 3.4.0-r0 apk +alpine-keys 2.4-r1 apk +alpine-release 3.17.3-r0 apk +aom-libs 3.5.0-r0 apk +apache2-utils 2.4.57-r0 apk +apk-tools 2.12.10-r1 apk +apr 1.7.2-r0 apk +apr-util 1.6.3-r0 apk +argon2-libs 20190702-r2 apk +bacon/bacon-qr-code 2.0.8 php-composer +bash 5.2.15-r0 apk +beberlei/assert v3.3.2 php-composer +brick/math 0.8.17 php-composer +brotli-libs 1.0.9-r9 apk +busybox 1.35.0 binary +busybox 1.35.0-r29 apk +busybox-binsh 1.35.0-r29 apk +ca-certificates 20230506-r0 apk +ca-certificates-bundle 20230506-r0 apk +code-lts/u2f-php-server v1.2.1 php-composer +composer/ca-bundle 1.3.5 php-composer +coreutils 9.1-r0 apk +curl 8.0.1-r0 apk +dasprid/enum 1.0.3 php-composer +fgrosse/phpasn1 v2.5.0 php-composer +fig/http-message-util 1.1.5 php-composer +freetype 2.12.1-r0 apk +git 2.38.5-r0 apk +google/recaptcha 1.2.4 php-composer +jq 1.6-r2 apk +league/uri 6.4.0 php-composer +league/uri-interfaces 2.3.0 php-composer +libacl 2.3.1-r1 apk +libattr 2.5.1-r2 apk +libavif 0.11.1-r0 apk +libbsd 0.11.7-r0 apk +libbz2 1.0.8-r4 apk +libc-utils 0.7.2-r3 apk +libcrypto3 3.0.8-r4 apk +libcurl 8.1.0-r1 apk +libdav1d 1.0.0-r2 apk +libedit 20221030.3.1-r0 apk +libexpat 2.5.0-r0 apk +libgcc 12.2.1_git20220924-r4 apk +libice 1.0.10-r1 apk +libintl 0.21.1-r1 apk +libjpeg-turbo 2.1.4-r0 apk +libmd 1.0.4-r0 apk +libpng 1.6.38-r0 apk +libproc 3.3.17-r2 apk +libsm 1.2.3-r1 apk +libssl3 3.0.8-r4 apk +libuuid 2.38.1-r1 apk +libwebp 1.2.4-r1 apk +libx11 1.8.4-r0 apk +libxau 1.0.10-r0 apk +libxcb 1.15-r0 apk +libxdmcp 1.1.4-r0 apk +libxext 1.3.5-r0 apk +libxml2 2.10.4-r0 apk +libxpm 3.5.15-r0 apk +libxt 1.2.1-r0 apk +libzip 1.9.2-r2 apk +linux-pam 1.5.2-r1 apk +logrotate 3.20.1-r3 apk +musl 1.2.3-r5 apk +musl-utils 1.2.3-r4 apk +nano 7.0-r0 apk +ncurses-libs 6.3_p20221119-r0 apk +ncurses-terminfo-base 6.3_p20221119-r0 apk +netcat-openbsd 1.130-r4 apk +nghttp2-libs 1.51.0-r0 apk +nginx 1.22.1-r0 apk +nikic/fast-route v1.3.0 php-composer +oniguruma 6.9.8-r0 apk +openssl 3.0.8-r4 apk +paragonie/constant_time_encoding v2.6.3 php-composer +paragonie/random_compat v9.99.100 php-composer +paragonie/sodium_compat v1.19.0 php-composer +pcre 8.45-r2 apk +pcre2 10.42-r0 apk +php-cli 8.1.19 binary +php-fpm 8.1.19 binary +php81 8.1.19-r0 apk +php81-bz2 8.1.19-r0 apk +php81-common 8.1.19-r0 apk +php81-curl 8.1.19-r0 apk +php81-dom 8.1.19-r0 apk +php81-fileinfo 8.1.19-r0 apk +php81-fpm 8.1.19-r0 apk +php81-gd 8.1.19-r0 apk +php81-iconv 8.1.19-r0 apk +php81-mbstring 8.1.19-r0 apk +php81-mysqli 8.1.19-r0 apk +php81-mysqlnd 8.1.19-r0 apk +php81-opcache 8.1.19-r0 apk +php81-openssl 8.1.19-r0 apk +php81-pecl-uploadprogress 2.0.2-r0 apk +php81-session 8.1.19-r0 apk +php81-simplexml 8.1.19-r0 apk +php81-tokenizer 8.1.19-r0 apk +php81-xml 8.1.19-r0 apk +php81-xmlwriter 8.1.19-r0 apk +php81-zip 8.1.19-r0 apk +phpmyadmin 5.2.1 npm +phpmyadmin/motranslator 5.3.0 php-composer +phpmyadmin/shapefile 3.0.1 php-composer +phpmyadmin/sql-parser 5.7.0 php-composer +phpmyadmin/twig-i18n-extension v4.0.1 php-composer +popt 1.19-r0 apk +pragmarx/google2fa v8.0.1 php-composer +pragmarx/google2fa-qrcode v2.1.1 php-composer +procps 3.3.17-r2 apk +psr/cache 1.0.1 php-composer +psr/container 1.1.1 php-composer +psr/http-client 1.0.1 php-composer +psr/http-factory 1.0.1 php-composer +psr/http-message 1.0.1 php-composer +psr/log 1.1.4 php-composer +ralouphie/getallheaders 3.0.3 php-composer +ramsey/collection 1.1.4 php-composer +ramsey/uuid 4.2.3 php-composer +readline 8.2.0-r0 apk +scanelf 1.3.5-r1 apk +shadow 4.13-r0 apk +skalibs 2.12.0.1-r0 apk +slim/psr7 1.4 php-composer +spomky-labs/base64url v2.0.4 php-composer +spomky-labs/cbor-php v1.1.1 php-composer +ssl_client 1.35.0-r29 apk +symfony/cache v5.4.19 php-composer +symfony/cache-contracts v2.5.2 php-composer +symfony/config v5.4.19 php-composer +symfony/dependency-injection v5.4.20 php-composer +symfony/deprecation-contracts v2.5.2 php-composer +symfony/expression-language v5.4.19 php-composer +symfony/filesystem v5.4.19 php-composer +symfony/polyfill-ctype v1.27.0 php-composer +symfony/polyfill-mbstring v1.27.0 php-composer +symfony/polyfill-php73 v1.27.0 php-composer +symfony/polyfill-php80 v1.27.0 php-composer +symfony/polyfill-php81 v1.27.0 php-composer +symfony/process v5.4.19 php-composer +symfony/service-contracts v2.5.2 php-composer +symfony/var-exporter v5.4.19 php-composer +tecnickcom/tcpdf 6.6.2 php-composer +thecodingmachine/safe v1.3.3 php-composer +twig/twig v3.5.0 php-composer +tzdata 2023c-r0 apk +utmps-libs 0.1.2.0-r1 apk +web-auth/cose-lib v3.3.12 php-composer +web-auth/metadata-service v3.3.12 php-composer +web-auth/webauthn-lib v3.3.12 php-composer +webmozart/assert 1.11.0 php-composer +williamdes/mariadb-mysql-kbs v1.2.14 php-composer +xz 5.2.9-r0 apk +xz-libs 5.2.9-r0 apk +zlib 1.2.13-r0 apk +zstd-libs 1.5.5-r0 apk diff --git a/readme-vars.yml b/readme-vars.yml index 54f704d..a3d07ab 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -13,7 +13,6 @@ project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_ available_architectures: - { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"} - { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"} - - { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"} # container parameters common_param_env_vars_enabled: true @@ -47,6 +46,7 @@ app_setup_block: | # changelog changelogs: + - { date: "25.05.23:", desc: "Rebase to Alpine 3.18, deprecate armhf." } - { date: "13.04.23:", desc: "Move ssl.conf include to default.conf." } - { date: "20.01.23:", desc: "Rebase to alpine 3.17 with php8.1." } - { date: "18.11.22:", desc: "Rebasing to Alpine 3.16, migrate to s6v3." }