Compare commits

...
Author SHA1 Message Date
LinuxServer-CI b0dd1ee5cb Bot Updating Package Versions 2026-03-14 16:02:23 +00:00
AdamandGitHub 4f63ccf6a6 Merge pull request #30 from nbarrientos/main 2026-03-11 13:16:20 +00:00
Nacho Barrientos 932f09c065 Remove deprecated option --autoreload-config
Deprecated since 3.19.0. See:

https://github.com/Flexget/Flexget/pull/4899
https://flexget.com/ChangeLog#h-3190-2026-03-05
2026-03-11 11:11:23 +01:00
LinuxServer-CI 9d4e452aca Bot Updating Package Versions 2026-03-09 16:47:16 +00:00
LinuxServer-CI 538c6e99e9 Bot Updating Package Versions 2026-03-05 17:57:22 +00:00
LinuxServer-CI c1165f3ac3 Bot Updating Package Versions 2026-03-04 16:27:14 +00:00
LinuxServer-CI cce280d3ee Bot Updating Package Versions 2026-03-02 16:27:12 +00:00
LinuxServer-CI 9c1cd8a5b5 Bot Updating Package Versions 2026-02-25 16:50:54 +00:00
LinuxServer-CI 644e72d1f3 Bot Updating Package Versions 2026-02-24 16:50:06 +00:00
LinuxServer-CI a1b355399e Bot Updating Package Versions 2026-02-23 16:39:58 +00:00
LinuxServer-CI caf1cb4293 Bot Updating Package Versions 2026-02-22 16:00:51 +00:00
LinuxServer-CI 40e3676a18 Bot Updating Package Versions 2026-02-16 16:29:10 +00:00
LinuxServer-CI 677242f24a Bot Updating Package Versions 2026-02-14 16:01:13 +00:00
LinuxServer-CI 43fd2f5aad Bot Updating Package Versions 2026-02-12 16:42:29 +00:00
LinuxServer-CI b5a2608b3c Bot Updating Package Versions 2026-02-11 16:49:29 +00:00
LinuxServer-CI e9a3f1b9ad Bot Updating Templated Files 2026-02-11 16:45:22 +00:00
LinuxServer-CI 6163e88586 Bot Updating Templated Files 2026-02-11 16:43:17 +00:00
LinuxServer-CI d2fba4a247 Bot Updating Package Versions 2026-02-09 17:38:45 +00:00
LinuxServer-CI 52a4d5df27 Bot Updating Package Versions 2026-02-05 19:44:04 +00:00
LinuxServer-CI 4b001c403a Bot Updating Package Versions 2026-02-02 16:08:13 +00:00
LinuxServer-CI c05e987fdc Bot Updating Package Versions 2026-01-30 16:08:05 +00:00
LinuxServer-CI 959469f776 Bot Updating Package Versions 2026-01-27 16:01:47 +00:00
LinuxServer-CI 574fd90b47 Bot Updating Package Versions 2026-01-26 16:02:57 +00:00
LinuxServer-CI 177b0f7e86 Bot Updating Package Versions 2026-01-19 15:59:51 +00:00
LinuxServer-CI 457d93ba66 Bot Updating Package Versions 2026-01-16 15:58:29 +00:00
LinuxServer-CI 584bd9d56c Bot Updating Package Versions 2026-01-12 16:01:38 +00:00
LinuxServer-CI dad9ec6d21 Bot Updating Package Versions 2026-01-10 15:53:40 +00:00
LinuxServer-CI 97360ef73e Bot Updating Package Versions 2026-01-05 15:58:57 +00:00
LinuxServer-CI ff309f320d Bot Updating Package Versions 2025-12-29 15:56:28 +00:00
LinuxServer-CI 57a12c039d Bot Updating Package Versions 2025-12-22 15:55:21 +00:00
LinuxServer-CI 0e4677c903 Bot Updating Package Versions 2025-12-15 16:00:05 +00:00
LinuxServer-CI 6611d05ada Bot Updating Package Versions 2025-12-10 15:56:51 +00:00
LinuxServer-CI 10e43e188e Bot Updating Package Versions 2025-12-08 15:54:43 +00:00
LinuxServer-CI eb62fca596 Bot Updating Package Versions 2025-12-04 15:57:01 +00:00
LinuxServer-CI 975086ada6 Bot Updating Package Versions 2025-12-01 15:56:04 +00:00
LinuxServer-CI 508394ae55 Bot Updating Package Versions 2025-11-25 15:56:31 +00:00
LinuxServer-CI 2aca825005 Bot Updating Package Versions 2025-11-24 15:56:12 +00:00
LinuxServer-CI 1f1109d8b0 Bot Updating Package Versions 2025-11-23 15:59:36 +00:00
LinuxServer-CI 0095bef01c Bot Updating Templated Files 2025-11-20 19:23:38 +00:00
LinuxServer-CI fe8d2f3558 Bot Updating Package Versions 2025-11-17 15:56:07 +00:00
LinuxServer-CI 1692f79634 Bot Updating Package Versions 2025-11-14 14:18:54 +00:00
LinuxServer-CI d656d4a913 Bot Updating Templated Files 2025-11-14 14:14:46 +00:00
AdamandGitHub 6e57548c1f Merge pull request #29 from linuxserver/3.22 2025-11-14 14:12:59 +00:00
LinuxServer-CI bbb8f05ecb Bot Updating Package Versions 2025-11-13 15:54:43 +00:00
LinuxServer-CI d164441da0 Bot Updating Package Versions 2025-11-12 17:00:37 +00:00
thespad 3fb390f265 Bump boost 2025-11-11 21:33:08 +00:00
thespad 7df62faf3c Rebase to 3.22 2025-11-10 22:18:32 +00:00
LinuxServer-CI 743257a224 Bot Updating Package Versions 2025-10-27 15:53:55 +00:00
LinuxServer-CI 481fc23341 Bot Updating Package Versions 2025-10-26 15:53:11 +00:00
LinuxServer-CI 0b2baa9fc3 Bot Updating Package Versions 2025-10-23 15:54:08 +00:00
LinuxServer-CI cc8f7b6614 Bot Updating Package Versions 2025-10-22 15:55:19 +00:00
LinuxServer-CI a4aaf57c74 Bot Updating Templated Files 2025-10-22 15:51:09 +00:00
LinuxServer-CI 9893bb6407 Bot Updating Package Versions 2025-10-17 17:14:18 +00:00
aptalcaandGitHub 6475e3e423 Merge pull request #28 from linuxserver/pip
add pip
2025-10-17 13:10:05 -04:00
aptalca 213eb70a3b add pip 2025-10-17 12:49:52 -04:00
LinuxServer-CI 3b5210595d Bot Updating Package Versions 2025-10-14 15:54:25 +00:00
LinuxServer-CI f69e003444 Bot Updating Package Versions 2025-10-13 15:53:37 +00:00
LinuxServer-CI ce563eb6d1 Bot Updating Package Versions 2025-10-06 15:53:42 +00:00
LinuxServer-CI eb41328719 Bot Updating Package Versions 2025-10-02 15:55:01 +00:00
LinuxServer-CI 804154e9ff Bot Updating Package Versions 2025-09-29 15:53:34 +00:00
LinuxServer-CI 1dc631fb06 Bot Updating Package Versions 2025-09-26 15:53:53 +00:00
LinuxServer-CI cb13049727 Bot Updating Package Versions 2025-09-22 15:54:30 +00:00
LinuxServer-CI b6313939d7 Bot Updating Package Versions 2025-09-18 15:55:34 +00:00
LinuxServer-CI f4eb945573 Bot Updating Package Versions 2025-09-15 16:14:31 +00:00
LinuxServer-CI 1e6f9e6499 Bot Updating Package Versions 2025-09-11 15:53:15 +00:00
LinuxServer-CI 173c7ea35d Bot Updating Package Versions 2025-09-08 15:55:09 +00:00
LinuxServer-CI 7d491935d8 Bot Updating Package Versions 2025-09-05 15:59:31 +00:00
LinuxServer-CI 4daa3ffa2c Bot Updating Package Versions 2025-09-03 15:53:47 +00:00
LinuxServer-CI 814b85199c Bot Updating Package Versions 2025-09-02 15:53:42 +00:00
LinuxServer-CI cf08cdd238 Bot Updating Package Versions 2025-09-01 15:54:11 +00:00
LinuxServer-CI 263ff2bf60 Bot Updating Package Versions 2025-08-29 15:53:19 +00:00
LinuxServer-CI 6a35ea4b9c Bot Updating Package Versions 2025-08-27 15:53:27 +00:00
LinuxServer-CI bf6288a533 Bot Updating Package Versions 2025-08-25 15:55:02 +00:00
LinuxServer-CI 1b55256f14 Bot Updating Package Versions 2025-08-24 15:53:43 +00:00
LinuxServer-CI 46564c4c24 Bot Updating Package Versions 2025-08-23 15:53:37 +00:00
7 changed files with 321 additions and 266 deletions
+7 -6
View File
@@ -2,11 +2,11 @@
FROM ghcr.io/linuxserver/unrar:latest AS unrar
FROM ghcr.io/by275/libtorrent:2-alpine3.19 AS libtorrent
FROM ghcr.io/by275/libtorrent:2-alpine3.22 AS libtorrent
FROM ghcr.io/linuxserver/baseimage-alpine:3.19
FROM ghcr.io/linuxserver/baseimage-alpine:3.22
COPY --from=ghcr.io/astral-sh/uv:0.5.26 /uv /uvx /bin/
COPY --from=ghcr.io/astral-sh/uv:0.9.8 /uv /uvx /bin/
# set version label
ARG BUILD_DATE
@@ -31,8 +31,8 @@ RUN \
python3-dev && \
apk add -U --update --no-cache \
7zip \
boost1.82-system \
boost1.82-python3 \
boost1.84-system \
boost1.84-python3 \
libstdc++ \
nodejs \
python3 && \
@@ -53,6 +53,7 @@ RUN \
uv venv /lsiopy && \
uv run scripts/bundle_webui.py && \
uv sync --frozen --no-dev --no-cache --group=all && \
uv pip install pip && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apk del --purge \
@@ -63,7 +64,7 @@ RUN \
COPY --from=libtorrent /libtorrent-build/usr/lib/libtorrent-rasterbar.* /usr/lib/
COPY --from=libtorrent /libtorrent-build/usr/lib/python3.11 /lsiopy/lib/python3.11
COPY --from=libtorrent /libtorrent-build/usr/lib/python3.12 /lsiopy/lib/python3.12
# add local files
COPY root/ /
+7 -6
View File
@@ -2,11 +2,11 @@
FROM ghcr.io/linuxserver/unrar:arm64v8-latest AS unrar
FROM ghcr.io/by275/libtorrent:2-alpine3.19 AS libtorrent
FROM ghcr.io/by275/libtorrent:2-alpine3.22 AS libtorrent
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.22
COPY --from=ghcr.io/astral-sh/uv:0.5.26 /uv /uvx /bin/
COPY --from=ghcr.io/astral-sh/uv:0.9.8 /uv /uvx /bin/
# set version label
ARG BUILD_DATE
@@ -31,8 +31,8 @@ RUN \
python3-dev && \
apk add -U --update --no-cache \
7zip \
boost1.82-system \
boost1.82-python3 \
boost1.84-system \
boost1.84-python3 \
libstdc++ \
nodejs \
python3 && \
@@ -53,6 +53,7 @@ RUN \
uv venv /lsiopy && \
uv run scripts/bundle_webui.py && \
uv sync --frozen --no-dev --no-cache --group=all && \
uv pip install pip && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
echo "**** cleanup ****" && \
apk del --purge \
@@ -63,7 +64,7 @@ RUN \
COPY --from=libtorrent /libtorrent-build/usr/lib/libtorrent-rasterbar.* /usr/lib/
COPY --from=libtorrent /libtorrent-build/usr/lib/python3.11 /lsiopy/lib/python3.11
COPY --from=libtorrent /libtorrent-build/usr/lib/python3.12 /lsiopy/lib/python3.12
# add local files
COPY root/ /
Vendored
+76 -36
View File
@@ -218,6 +218,7 @@ pipeline {
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
env.CITEST_IMAGETAG = 'latest'
}
}
}
@@ -243,6 +244,7 @@ pipeline {
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
env.CITEST_IMAGETAG = 'develop'
}
}
}
@@ -268,6 +270,7 @@ pipeline {
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/'
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
env.CITEST_IMAGETAG = 'develop'
}
}
}
@@ -290,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.20 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 && \
@@ -625,13 +628,16 @@ pipeline {
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
declare -A pids
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
for i in "${CACHE[@]}"; do
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
pids[$!]="$i"
done
for p in $(jobs -p); do
wait "$p" || { echo "job $p failed" >&2; exit 1; }
for p in "${!pids[@]}"; do
wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
done
fi
'''
@@ -691,13 +697,16 @@ pipeline {
echo $GITHUB_TOKEN | docker login ghcr.io -u LinuxServer-CI --password-stdin
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
echo $QUAYPASS | docker login quay.io -u $QUAYUSER --password-stdin
if [[ "${PACKAGE_CHECK}" != "true" ]]; then
declare -A pids
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
for i in "${CACHE[@]}"; do
docker push ${i}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} &
pids[$!]="$i"
done
for p in $(jobs -p); do
wait "$p" || { echo "job $p failed" >&2; exit 1; }
for p in "${!pids[@]}"; do
wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
done
fi
'''
@@ -751,12 +760,14 @@ 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 [[ "${PACKAGE_CHECK}" != "true" ]]; then
declare -A pids
IFS=',' read -ra CACHE <<< "$BUILDCACHE"
for i in "${CACHE[@]}"; do
docker push ${i}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} &
pids[$!]="$i"
done
for p in $(jobs -p); do
wait "$p" || { echo "job $p failed" >&2; exit 1; }
for p in "${!pids[@]}"; do
wait "$p" || { [[ "${pids[$p]}" != *"quay.io"* ]] && exit 1; }
done
fi
'''
@@ -881,7 +892,7 @@ pipeline {
CI_DOCKERENV="LSIO_FIRST_PARTY=true"
fi
fi
docker pull ghcr.io/linuxserver/ci:latest
docker pull ghcr.io/linuxserver/ci:${CITEST_IMAGETAG}
if [ "${MULTIARCH}" == "true" ]; then
docker pull ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} --platform=arm64
docker tag ghcr.io/linuxserver/lsiodev-buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
@@ -905,7 +916,9 @@ pipeline {
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e NODE_NAME=\"${NODE_NAME}\" \
-e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \
-t ghcr.io/linuxserver/ci:latest \
-e COMMIT_SHA=\"${COMMIT_SHA}\" \
-e BUILD_NUMBER=\"${BUILD_NUMBER}\" \
-t ghcr.io/linuxserver/ci:${CITEST_IMAGETAG} \
python3 test_build.py'''
}
}
@@ -931,9 +944,11 @@ pipeline {
CACHEIMAGE=${i}
fi
done
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
if [ -n "${SEMVER}" ]; then
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${PUSHIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
fi
done
'''
@@ -958,20 +973,27 @@ pipeline {
CACHEIMAGE=${i}
fi
done
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-latest -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${META_TAG} -t ${MANIFESTIMAGE}:arm64v8-latest -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
if [ -n "${SEMVER}" ]; then
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
fi
done
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
docker buildx imagetools create -t ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm64v8-latest || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
docker buildx imagetools create -t ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
if [ -n "${SEMVER}" ]; then
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER}
docker buildx imagetools create -t ${MANIFESTIMAGE}:${SEMVER} ${MANIFESTIMAGE}:amd64-${SEMVER} ${MANIFESTIMAGE}:arm64v8-${SEMVER} || \
{ if [[ "${MANIFESTIMAGE}" != "${QUAYIMAGE}" ]]; then exit 1; fi; }
fi
done
'''
@@ -989,23 +1011,41 @@ pipeline {
environment name: 'EXIT_STATUS', value: ''
}
steps {
echo "Pushing New tag for current commit ${META_TAG}"
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to main",\
"type": "commit",\
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "main",\
"name": "'${META_TAG}'",\
"body": "**CI Report:**\\n\\n'${CI_URL:-N/A}'\\n\\n**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n\\n**Remote Changes:**\\n\\n' > start
printf '","draft": false,"prerelease": false}' >> releasebody.json
paste -d'\\0' start releasebody.json > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
echo "Auto-generating release notes"
if [ "$(git tag --points-at HEAD)" != "" ]; then
echo "Existing tag points to current commit, suggesting no new LS changes"
AUTO_RELEASE_NOTES="No changes"
else
AUTO_RELEASE_NOTES=$(curl -fsL -H "Authorization: token ${GITHUB_TOKEN}" -H "Accept: application/vnd.github+json" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases/generate-notes \
-d '{"tag_name":"'${META_TAG}'",\
"target_commitish": "main"}' \
| jq -r '.body' | sed 's|## What.s Changed||')
fi
echo "Pushing New tag for current commit ${META_TAG}"
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
-d '{"tag":"'${META_TAG}'",\
"object": "'${COMMIT_SHA}'",\
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to main",\
"type": "commit",\
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
echo "Pushing New release for Tag"
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. |.body' > releasebody.json
jq -n \
--arg tag_name "$META_TAG" \
--arg target_commitish "main" \
--arg ci_url "${CI_URL:-N/A}" \
--arg ls_notes "$AUTO_RELEASE_NOTES" \
--arg remote_notes "$(cat releasebody.json)" \
'{
"tag_name": $tag_name,
"target_commitish": $target_commitish,
"name": $tag_name,
"body": ("**CI Report:**\\n\\n" + $ci_url + "\\n\\n**LinuxServer Changes:**\\n\\n" + $ls_notes + "\\n\\n**Remote Changes:**\\n\\n" + $remote_notes),
"draft": false,
"prerelease": false }' > releasebody.json.done
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done
'''
}
}
// Add protection to the release branch
+3 -1
View File
@@ -75,7 +75,7 @@ This image can be run with a read-only container filesystem. For details please
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))
@@ -300,6 +300,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **10.11.25:** - Rebase to Alpine 3.22.
* **17.10.25:** - Add pip to enable [universal-package-install mod](https://github.com/linuxserver/docker-mods/tree/universal-package-install).
* **18.09.24:** - Suppress creation of empty log file when WebUI password is set.
* **17.08.24:** - Revert to Alpine 3.20 due to 1st party plugin incompatibility with Python 3.12.
* **19.06.24:** - Rebase to Alpine 3.20.
+222 -209
View File
@@ -1,209 +1,222 @@
NAME VERSION TYPE
7zip 23.01-r0 apk
ada-libs 2.7.4-r0 apk
alpine-baselayout 3.4.3-r2 apk
alpine-baselayout-data 3.4.3-r2 apk
alpine-keys 2.4-r1 apk
alpine-release 3.19.8-r0 apk
aniso8601 10.0.1 python
anyio 4.10.0 python
apk-tools 2.14.4-r0 apk
apscheduler 3.11.0 python
attrs 25.3.0 python
autocommand 2.2.2 python (+1 duplicate)
babelfish 0.6.1 python
backports-tarfile 1.2.0 python (+1 duplicate)
bash 5.2.21-r0 apk
bcrypt 4.3.0 python
beautifulsoup4 4.13.4 python
blinker 1.9.0 python
boost1.82-python3 1.82.0-r3 apk
boost1.82-system 1.82.0-r3 apk
boto3 1.40.11 python
botocore 1.40.11 python
brotli 1.1.0 python
brotli-libs 1.1.0-r1 apk
busybox 1.36.1-r20 apk
busybox-binsh 1.36.1-r20 apk
c-ares 1.27.0-r0 apk
ca-certificates 20250619-r0 apk
ca-certificates-bundle 20250619-r0 apk
catatonit 0.2.0-r0 apk
certifi 2025.8.3 python
cffi 1.17.1 python
chardet 5.2.0 python
charset-normalizer 3.4.3 python
cheroot 10.0.1 python
cherrypy 18.10.0 python
cli UNKNOWN binary
cli-32 UNKNOWN binary
cli-64 UNKNOWN binary
cli-arm64 UNKNOWN binary
click 8.2.1 python
click-option-group 0.5.7 python
coreutils 9.4-r2 apk
coreutils-env 9.4-r2 apk
coreutils-fmt 9.4-r2 apk
coreutils-sha512sum 9.4-r2 apk
cryptography 45.0.6 python
curl 8.12.1-r0 apk
decorator 5.2.1 python
deluge-client 1.10.2 python
dogpile-cache 1.4.0 python
enzyme 0.5.2 python
feedparser 6.0.11 python
findutils 4.9.0-r5 apk
flask 3.1.1 python
flask-compress 1.18 python
flask-cors 6.0.1 python
flask-login 0.6.3 python
flask-restx 1.3.0 python
flexget 3.17.14 python
ftputil 5.1.0 python
gdbm 1.23-r1 apk
greenlet 3.2.4 python
guessit 3.8.0 python
gui UNKNOWN binary
gui-32 UNKNOWN binary
gui-64 UNKNOWN binary
gui-arm64 UNKNOWN binary
h11 0.16.0 python
h2 4.2.0 python
hpack 4.1.0 python
html5lib 1.1 python
httpcore 1.0.9 python
httpx 0.28.1 python
hyperframe 6.1.0 python
icu-data-en 74.1-r1 apk
icu-libs 74.1-r1 apk
idna 3.10 python
importlib-metadata 8.0.0 python
importlib-resources 6.5.2 python
inflect 7.3.1 python
itsdangerous 2.2.0 python
jaraco-collections 5.1.0 python
jaraco-collections 5.2.1 python
jaraco-context 5.3.0 python
jaraco-context 6.0.1 python
jaraco-functools 4.0.1 python
jaraco-functools 4.2.1 python
jaraco-text 3.12.1 python
jaraco-text 4.0.0 python
jinja2 3.1.6 python
jmespath 1.0.1 python
jq 1.7.1-r0 apk
jsonschema 4.25.0 python
jsonschema-specifications 2025.4.1 python
libacl 2.3.1-r4 apk
libattr 2.5.1-r5 apk
libbase64 0.5.0-r0 apk
libbsd 0.11.7-r3 apk
libbz2 1.0.8-r6 apk
libc-utils 0.7.2-r5 apk
libcrypto3 3.1.8-r0 apk
libcurl 8.12.1-r0 apk
libexpat 2.7.0-r0 apk
libffi 3.4.4-r3 apk
libgcc 13.2.1_git20231014-r0 apk
libidn2 2.3.4-r4 apk
libintl 0.22.3-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.4_p20231125-r0 apk
libpanelw 6.4_p20231125-r0 apk
libproc2 4.0.4-r0 apk
libpsl 0.21.5-r0 apk
libssl3 3.1.8-r0 apk
libstdc++ 13.2.1_git20231014-r0 apk
libunistring 1.1-r2 apk
linux-pam 1.5.3-r7 apk
loguru 0.7.3 python
markdown-it-py 4.0.0 python
markupsafe 3.0.2 python
mdurl 0.1.2 python
more-itertools 10.3.0 python
more-itertools 10.7.0 python
mpdecimal 2.5.1-r2 apk
musl 1.2.4_git20230717-r5 apk
musl-utils 1.2.4_git20230717-r5 apk
my-test-package 1.0 python
ncurses-terminfo-base 6.4_p20231125-r0 apk
netcat-openbsd 1.226-r0 apk
nghttp2-libs 1.58.0-r0 apk
nodejs 20.15.1-r0 apk
oniguruma 6.9.9-r0 apk
packaging 24.2 python
packaging 25.0 python
paramiko 3.5.1 python
pbr 7.0.0 python
pendulum 3.1.0 python
pillow 11.3.0 python
platformdirs 4.2.2 python
platformdirs 4.3.8 python
plexapi 4.17.0 python
plumbum 1.9.0 python
portend 3.2.1 python
procps-ng 4.0.4-r0 apk
psutil 7.0.0 python
pyc 3.11.13-r0 apk
pycparser 2.22 python
pygments 2.19.2 python
pynacl 1.5.0 python
pynzb 0.1.0 python
pyparsing 3.2.3 python
pyrss2gen 1.1 python
pysftp 0.2.9 python
pysubs2 1.8.0 python
python-dateutil 2.9.0.post0 python
python-telegram-bot 22.3 python
python3 3.11.13-r0 apk
python3-pyc 3.11.13-r0 apk
python3-pycache-pyc0 3.11.13-r0 apk
pytz 2025.2 python
pyyaml 6.0.2 python
pyzstd 0.17.0 python
qbittorrent-api 2025.7.0 python
rarfile 4.2 python
readline 8.2.1-r2 apk
rebulk 3.2.0 python
referencing 0.36.2 python
requests 2.32.4 python
rich 14.1.0 python
rpds-py 0.27.0 python
rpyc 6.0.2 python
s3transfer 0.13.1 python
scanelf 1.3.7-r2 apk
setuptools 80.9.0 python
sgmllib3k 1.0.0 python
shadow 4.14.2-r0 apk
six 1.17.0 python
skalibs 2.14.0.1-r0 apk
sniffio 1.3.1 python
socksio 1.0.0 python
soupsieve 2.7 python
sqlalchemy 2.0.43 python
sqlite-libs 3.44.2-r1 apk
srt 3.5.3 python
ssl_client 1.36.1-r20 apk
stevedore 5.4.1 python
subliminal 2.2.1 python
tempora 5.8.1 python
tomli 2.0.1 python
tomli 2.2.1 python
transmission-rpc 7.0.11 python
triangular 2.5.0 npm
typeguard 4.3.0 python
typing-extensions 4.12.2 python
typing-extensions 4.14.1 python
tzdata 2025.2 python
tzdata 2025b-r0 apk
tzlocal 5.3.1 python
urllib3 2.5.0 python
utmps-libs 0.1.2.2-r0 apk
webencodings 0.5.1 python
werkzeug 3.1.3 python
wheel 0.45.1 python
xz-libs 5.4.5-r1 apk
zc-lockfile 3.0.post1 python
zipp 3.19.2 python
zlib 1.3.1-r0 apk
zxcvbn 4.5.0 python
NAME VERSION TYPE
7zip 24.09-r0 apk
Simple Launcher 1.1.0.14 binary (+5 duplicates)
acl-libs 2.3.2-r1 apk
ada-libs 2.9.2-r4 apk
aiofiles 24.1.0 python
aiohappyeyeballs 2.6.1 python
aiohttp 3.13.3 python
aiohttp-socks 0.11.0 python
aiosignal 1.4.0 python
alpine-baselayout 3.7.0-r0 apk
alpine-baselayout-data 3.7.0-r0 apk
alpine-keys 2.5-r0 apk
alpine-release 3.22.3-r0 apk
aniso8601 10.0.1 python
annotated-doc 0.0.4 python
anyio 4.12.1 python
apk-tools 2.14.9-r3 apk
apscheduler 3.11.2 python
attrs 25.4.0 python
autocommand 2.2.2 python
babelfish 0.6.1 python
backports-tarfile 1.2.0 python
backports-zstd 1.3.0 python
bash 5.2.37-r0 apk
bcrypt 5.0.0 python
beautifulsoup4 4.14.3 python
blinker 1.9.0 python
boost1.84-python3 1.84.0-r3 apk
boost1.84-system 1.84.0-r3 apk
boto3 1.42.63 python
botocore 1.42.63 python
brotli 1.2.0 python
brotli-libs 1.1.0-r2 apk
busybox 1.37.0-r20 apk
busybox-binsh 1.37.0-r20 apk
c-ares 1.34.6-r0 apk
ca-certificates 20250911-r0 apk
ca-certificates-bundle 20250911-r0 apk
catatonit 0.2.1-r0 apk
certifi 2026.2.25 python
cffi 2.0.0 python
chardet 7.0.1 python
charset-normalizer 3.4.5 python
cheroot 11.1.2 python
cherrypy 18.10.0 python
cli UNKNOWN binary
cli-32 UNKNOWN binary
cli-64 UNKNOWN binary
cli-arm64 UNKNOWN binary
click 8.3.1 python
click-option-group 0.5.9 python
coreutils 9.7-r1 apk
coreutils-env 9.7-r1 apk
coreutils-fmt 9.7-r1 apk
coreutils-sha512sum 9.7-r1 apk
cryptography 46.0.5 python
curl 8.14.1-r2 apk
decorator 5.2.1 python
defusedxml 0.7.1 python
deluge-client 1.10.2 python
dogpile-cache 1.5.0 python
enzyme 0.5.2 python
feedparser 6.0.12 python
findutils 4.10.0-r0 apk
flask 3.1.3 python
flask-compress 1.23 python
flask-cors 6.0.2 python
flask-login 0.6.3 python
flask-restx 1.3.2 python
flexget 3.19.2 python
frozenlist 1.8.0 python
ftputil 5.1.0 python
gdbm 1.24-r0 apk
greenlet 3.3.2 python
guessit 3.8.0 python
gui UNKNOWN binary
gui-32 UNKNOWN binary
gui-64 UNKNOWN binary
gui-arm64 UNKNOWN binary
h11 0.16.0 python
h2 4.3.0 python
hpack 4.1.0 python
html5lib 1.1 python
httpcore 1.0.9 python
httpx 0.28.1 python
hyperframe 6.1.0 python
icu-data-en 76.1-r1 apk
icu-libs 76.1-r1 apk
idna 3.11 python
importlib-metadata 8.7.1 python
importlib-resources 6.5.2 python
itsdangerous 2.2.0 python
jaraco-collections 5.2.1 python
jaraco-context 6.1.0 python
jaraco-context 6.1.1 python
jaraco-functools 4.4.0 python (+1 duplicate)
jaraco-text 4.0.0 python
jaraco-text 4.2.0 python
jinja2 3.1.6 python
jmespath 1.1.0 python
jq 1.8.1-r0 apk
jsonschema 4.26.0 python
jsonschema-specifications 2025.9.1 python
knowit 0.5.11 python
libapk2 2.14.9-r3 apk
libattr 2.5.2-r2 apk
libbsd 0.12.2-r0 apk
libbz2 1.0.8-r6 apk
libcrypto3 3.5.5-r0 apk
libcurl 8.14.1-r2 apk
libexpat 2.7.4-r0 apk
libffi 3.4.8-r0 apk
libgcc 14.2.0-r6 apk
libidn2 2.3.7-r0 apk
libintl 0.24.1-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.5_p20250503-r0 apk
libpanelw 6.5_p20250503-r0 apk
libproc2 4.0.4-r3 apk
libpsl 0.21.5-r3 apk
libssl3 3.5.5-r0 apk
libstdc++ 14.2.0-r6 apk
libunistring 1.3-r0 apk
linux-pam 1.7.0-r4 apk
loguru 0.7.3 python
markdown-it-py 4.0.0 python
markupsafe 3.0.3 python
matrix-nio 0.25.2 python
mdurl 0.1.2 python
more-itertools 10.8.0 python (+1 duplicate)
mpdecimal 4.0.1-r0 apk
multidict 6.7.1 python
musl 1.2.5-r10 apk
musl-utils 1.2.5-r10 apk
ncurses-terminfo-base 6.5_p20250503-r0 apk
netcat-openbsd 1.229.1-r0 apk
nghttp2-libs 1.65.0-r0 apk
nodejs 22.22.0-r0 apk
oniguruma 6.9.10-r0 apk
packaging 26.0 python (+1 duplicate)
paramiko 3.5.1 python
pendulum 3.2.0 python
pip 26.0.1 python
platformdirs 4.4.0 python
platformdirs 4.9.4 python
plexapi 4.18.0 python
plumbum 1.10.0 python
portend 3.2.1 python
procps-ng 4.0.4-r3 apk
propcache 0.4.1 python
psutil 7.2.2 python
pyc 3.12.12-r0 apk
pycparser 3.0 python
pycryptodome 3.23.0 python
pygments 2.19.2 python
pymediainfo 7.0.1 python
pynacl 1.6.2 python
pynzb 0.1.0 python
pyparsing 3.3.2 python
pyrss2gen 1.1 python
pysftp 0.2.9 python
pysubs2 1.8.0 python
python-dateutil 2.9.0.post0 python
python-socks 2.8.1 python
python-telegram-bot 22.6 python
python3 3.12.12-r0 apk
python3-pyc 3.12.12-r0 apk
python3-pycache-pyc0 3.12.12-r0 apk
pyyaml 6.0.3 python
qbittorrent-api 2025.11.1 python
rarfile 4.2 python
readline 8.2.13-r1 apk
rebulk 3.2.0 python
referencing 0.37.0 python
requests 2.32.5 python
rich 14.3.3 python
rpds-py 0.30.0 python
rpyc 6.0.2 python
s3transfer 0.16.0 python
scanelf 1.3.8-r1 apk
setuptools 82.0.0 python
sgmllib3k 1.0.0 python
shadow 4.17.3-r0 apk
shellingham 1.5.4 python
simdjson 3.12.0-r0 apk
simdutf 7.2.1-r0 apk
six 1.17.0 python
skalibs-libs 2.14.4.0-r0 apk
socksio 1.0.0 python
soupsieve 2.8.3 python
sqlalchemy 2.0.48 python
sqlite-libs 3.49.2-r1 apk
srt 3.5.3 python
ssl_client 1.37.0-r20 apk
stevedore 5.7.0 python
subliminal 2.6.0 python
tempora 5.8.1 python
tomli 2.4.0 python
tomlkit 0.14.0 python
trakit 0.2.5 python
transmission-rpc 7.0.11 python
triangular 2.5.0 npm
typer 0.24.1 python
typer-slim 0.24.0 python
typing-extensions 4.15.0 python
tzdata 2025.3 python
tzdata 2026a-r0 apk
tzlocal 5.3.1 python
unpaddedbase64 2.1.0 python
urllib3 2.6.3 python
utmps-libs 0.1.3.1-r0 apk
webencodings 0.5.1 python
werkzeug 3.1.6 python
wheel 0.46.3 python
xz-libs 5.8.1-r0 apk
yarl 1.23.0 python
zc-lockfile 4.0 python
zipp 3.23.0 python
zlib 1.3.1-r2 apk
zstd-libs 1.5.7-r0 apk
zxcvbn 4.5.0 python
+5 -7
View File
@@ -62,36 +62,34 @@ init_diagram: |
init-migrations -> init-adduser
init-os-end -> init-config
init-config -> init-config-end
init-crontab-config -> init-config-end
init-flexget-config -> init-config-end
init-os-end -> init-crontab-config
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
init-config -> init-flexget-config
base -> init-migrations
base -> init-mods
init-config-end -> init-mods
init-mods -> init-mods-end
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
base -> init-os-end
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-migrations -> init-os-end
init-custom-files -> init-services
init-mods-end -> init-services
init-services -> svc-cron
svc-cron -> legacy-services
init-services -> svc-flexget
svc-flexget -> legacy-services
}
Base Images: {
"baseimage-alpine:3.19"
"baseimage-alpine:3.22"
}
"flexget:latest" <- Base Images
# changelog
changelogs:
- {date: "10.11.25:", desc: "Rebase to Alpine 3.22."}
- {date: "17.10.25:", desc: "Add pip to enable [universal-package-install mod](https://github.com/linuxserver/docker-mods/tree/universal-package-install)."}
- {date: "18.09.24:", desc: "Suppress creation of empty log file when WebUI password is set."}
- {date: "17.08.24:", desc: "Revert to Alpine 3.20 due to 1st party plugin incompatibility with Python 3.12."}
- {date: "19.06.24:", desc: "Rebase to Alpine 3.20."}
+1 -1
View File
@@ -4,4 +4,4 @@
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 5050" \
cd /config s6-setuidgid abc python3 /lsiopy/bin/flexget \
--loglevel "${FG_LOG_LEVEL:-info}" --logfile "${FG_LOG_FILE:-/config/.flexget/flexget.log}" -c "${FG_CONFIG_FILE:-/config/.flexget/config.yml}" daemon start --autoreload-config
--loglevel "${FG_LOG_LEVEL:-info}" --logfile "${FG_LOG_FILE:-/config/.flexget/flexget.log}" -c "${FG_CONFIG_FILE:-/config/.flexget/config.yml}" daemon start