Compare commits

...
Author SHA1 Message Date
LinuxServer-CI 9ec31115ac Bot Updating Package Versions 2026-04-12 17:23:35 +00:00
LinuxServer-CI fc849dde50 Bot Updating Templated Files 2026-04-05 17:18:28 +00:00
LinuxServer-CI e778d307f1 Bot Updating Package Versions 2026-03-29 17:19:37 +00:00
LinuxServer-CI 73ac55cba8 Bot Updating Package Versions 2026-03-26 11:48:57 +00:00
LinuxServer-CI 57b5a3705a Bot Updating Package Versions 2026-03-08 17:04:40 +00:00
LinuxServer-CI 7996faa0b1 Bot Updating Package Versions 2026-03-01 17:03:54 +00:00
LinuxServer-CI 35ad0602e0 Bot Updating Templated Files 2026-02-15 17:07:41 +00:00
LinuxServer-CI 37406b5861 Bot Updating Templated Files 2026-02-15 17:05:18 +00:00
LinuxServer-CI 1c86e48e5d Bot Updating Package Versions 2026-02-08 17:06:32 +00:00
LinuxServer-CI 782e0424df Bot Updating Package Versions 2026-02-01 17:05:13 +00:00
LinuxServer-CI aebfa935b1 Bot Updating Package Versions 2026-01-16 17:07:40 +00:00
LinuxServer-CI 06fe90e8ce Bot Updating Templated Files 2026-01-16 17:03:45 +00:00
SimenandGitHub 6b19291f57 Merge pull request #263 from linuxserver/develop-3.23 2026-01-16 18:01:25 +01:00
thespad cc974e4147 Rebase to 3.23 2026-01-15 09:22:19 +00:00
LinuxServer-CI ae1cd6b215 Bot Updating Package Versions 2025-12-14 16:57:42 +00:00
LinuxServer-CI 3a775974be Bot Updating Package Versions 2025-11-23 16:58:58 +00:00
LinuxServer-CI 2e1bf2701c Bot Updating Templated Files 2025-11-23 16:55:34 +00:00
LinuxServer-CI 6669be8bb4 Bot Updating Package Versions 2025-10-26 17:58:54 +00:00
LinuxServer-CI ca5c52a3a3 Bot Updating Templated Files 2025-10-26 16:56:00 +00:00
LinuxServer-CI 7baba4ae6b Bot Updating Package Versions 2025-10-12 16:56:59 +00:00
LinuxServer-CI 1a5d2500a7 Bot Updating Package Versions 2025-10-06 21:05:47 +00:00
LinuxServer-CI 3d064ca69f Bot Updating Package Versions 2025-10-05 16:57:26 +00:00
LinuxServer-CI 6a517234a0 Bot Updating Package Versions 2025-09-28 17:13:03 +00:00
LinuxServer-CI ee88bc834b Bot Updating Package Versions 2025-09-21 19:58:45 +00:00
LinuxServer-CI 0549eacf1e Bot Updating Package Versions 2025-09-14 16:57:46 +00:00
LinuxServer-CI a2e4cfd6ac Bot Updating Package Versions 2025-08-24 13:41:35 +00:00
LinuxServer-CI 8a347210f1 Bot Updating Package Versions 2025-08-10 16:59:58 +00:00
LinuxServer-CI 896b696bb5 Bot Updating Package Versions 2025-08-03 09:26:41 +00:00
LinuxServer-CI 8fc16917b4 Bot Updating Package Versions 2025-07-20 17:00:36 +00:00
LinuxServer-CI 0b21e23fb2 Bot Updating Package Versions 2025-07-13 04:05:15 +00:00
LinuxServer-CI 93500def34 Bot Updating Package Versions 2025-07-05 15:45:38 +00:00
LinuxServer-CI a0f7785e43 Bot Updating Templated Files 2025-07-05 15:41:35 +00:00
AdamandGitHub 7e9f7ec6c4 Merge pull request #257 from linuxserver/develop-3.22 2025-07-05 16:39:10 +01:00
thespad 559bdd2d15 Rebase to 3.22 2025-07-05 15:01:18 +01:00
LinuxServer-CI 6431a7f51a Bot Updating Package Versions 2025-06-15 06:23:57 +00:00
LinuxServer-CI 1d44de92fe Bot Updating Package Versions 2025-06-15 05:44:34 +00:00
LinuxServer-CI 042a0491fd Bot Updating Templated Files 2025-06-15 05:41:10 +00:00
LinuxServer-CI c7e8388fbf Bot Updating Package Versions 2025-05-17 12:48:38 +00:00
LinuxServer-CI 2d9d089cbf Bot Updating Templated Files 2025-05-17 12:45:18 +00:00
LinuxServer-CI f56a633084 Bot Updating Package Versions 2025-05-11 16:56:12 +00:00
LinuxServer-CI b43aff878d Bot Updating Package Versions 2025-04-27 08:51:58 +00:00
LinuxServer-CI 92ef97c0fc Bot Updating Package Versions 2025-04-20 06:03:26 +00:00
LinuxServer-CI b90186478c Bot Updating Package Versions 2025-04-13 07:18:56 +00:00
LinuxServer-CI 524e373d9b Bot Updating Package Versions 2025-04-06 12:46:35 +00:00
LinuxServer-CI 85eafb7f8a Bot Updating Package Versions 2025-03-30 07:15:53 +00:00
LinuxServer-CI 154fca1e91 Bot Updating Package Versions 2025-03-24 16:33:30 +00:00
LinuxServer-CI 1db72aa55c Bot Updating Package Versions 2025-03-23 07:59:16 +00:00
LinuxServer-CI 38418585ed Bot Updating Package Versions 2025-03-18 13:33:37 +00:00
LinuxServer-CI 2df08e445a Bot Updating Package Versions 2025-03-16 08:50:14 +00:00
LinuxServer-CI d4d04f0267 Bot Updating Package Versions 2025-03-09 09:56:50 +00:00
21 changed files with 408 additions and 560 deletions
Executable → Regular
View File
Executable → Regular
View File
Executable → Regular
View File
View File
View File
View File
+3
View File
@@ -8,6 +8,9 @@ on:
pull_request_review:
types: [submitted,edited,dismissed]
permissions:
contents: read
jobs:
manage-project:
permissions:
+3
View File
@@ -4,6 +4,9 @@ on:
- cron: '58 22 * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
stale:
permissions:
+9 -6
View File
@@ -3,6 +3,9 @@ name: External Trigger Main
on:
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-develop:
runs-on: ubuntu-latest
@@ -43,8 +46,8 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
exit 1
fi
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
image="linuxserver/radarr"
tag="develop"
@@ -100,8 +103,8 @@ jobs:
exit 1
fi
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
exit 0
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-radarr/job/develop/lastBuild/api/json | jq -r '.building') == "true" ]; then
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
@@ -116,7 +119,7 @@ jobs:
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
else
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
echo "New version \`${EXT_RELEASE}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
if [[ "${artifacts_found}" == "true" ]]; then
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
fi
@@ -136,7 +139,7 @@ jobs:
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
--data-urlencode "Submit=Submit"
echo "**** Notifying Discord ****"
TRIGGER_REASON="A version change was detected for radarr tag develop. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
TRIGGER_REASON="A version change was detected for radarr tag develop. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
@@ -5,6 +5,9 @@ on:
- cron: '25 * * * *'
workflow_dispatch:
permissions:
contents: read
jobs:
external-trigger-scheduler:
runs-on: ubuntu-latest
Executable → Regular
+6
View File
@@ -2,8 +2,14 @@ name: Greetings
on: [pull_request_target, issues]
permissions:
contents: read
jobs:
greeting:
permissions:
issues: write
pull-requests: write
runs-on: ubuntu-latest
steps:
- uses: actions/first-interaction@v1
@@ -5,6 +5,9 @@ on:
- cron: '49 16 * * 0'
workflow_dispatch:
permissions:
contents: read
jobs:
package-trigger-scheduler:
runs-on: ubuntu-latest
View File
+1 -1
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:3.21
FROM ghcr.io/linuxserver/baseimage-alpine:3.23
# set version label
ARG BUILD_DATE
+1 -1
View File
@@ -1,6 +1,6 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.21
FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.23
# set version label
ARG BUILD_DATE
Vendored
+166 -123
View File
@@ -75,6 +75,7 @@ pipeline {
'''
script{
env.EXIT_STATUS = ''
env.CI_TEST_ATTEMPTED = ''
env.LS_RELEASE = sh(
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:develop 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
returnStdout: true).trim()
@@ -94,7 +95,11 @@ pipeline {
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE .editorconfig ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE/config.yml ./.github/ISSUE_TEMPLATE/issue.bug.yml ./.github/ISSUE_TEMPLATE/issue.feature.yml ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/external_trigger_scheduler.yml ./.github/workflows/greetings.yml ./.github/workflows/package_trigger_scheduler.yml ./.github/workflows/call_issue_pr_tracker.yml ./.github/workflows/call_issues_cron.yml ./.github/workflows/permissions.yml ./.github/workflows/external_trigger.yml ./root/donate.txt'
if ( env.SYFT_IMAGE_TAG == null ) {
env.SYFT_IMAGE_TAG = 'latest'
}
}
echo "Using syft image tag ${SYFT_IMAGE_TAG}"
sh '''#! /bin/bash
echo "The default github branch detected as ${GH_DEFAULT_BRANCH}" '''
script{
@@ -204,6 +209,7 @@ pipeline {
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
env.EXT_RELEASE_TAG = 'develop-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'
}
}
}
@@ -229,6 +235,7 @@ pipeline {
env.EXT_RELEASE_TAG = 'develop-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'
}
}
}
@@ -254,6 +261,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'
}
}
}
@@ -276,7 +284,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 && \
@@ -611,13 +619,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
'''
@@ -677,13 +688,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
'''
@@ -737,12 +751,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
'''
@@ -780,7 +796,7 @@ pipeline {
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v ${TEMPDIR}:/tmp \
ghcr.io/anchore/syft:latest \
ghcr.io/anchore/syft:${SYFT_IMAGE_TAG} \
${LOCAL_CONTAINER} -o table=/tmp/package_versions.txt
NEW_PACKAGE_TAG=$(md5sum ${TEMPDIR}/package_versions.txt | cut -c1-8 )
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
@@ -856,6 +872,7 @@ pipeline {
script{
env.CI_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/index.html'
env.CI_JSON_URL = 'https://ci-tests.linuxserver.io/' + env.IMAGE + '/' + env.META_TAG + '/report.json'
env.CI_TEST_ATTEMPTED = 'true'
}
sh '''#! /bin/bash
set -e
@@ -867,7 +884,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}
@@ -890,7 +907,10 @@ pipeline {
-e WEB_AUTH=\"${CI_AUTH}\" \
-e WEB_PATH=\"${CI_WEBPATH}\" \
-e NODE_NAME=\"${NODE_NAME}\" \
-t ghcr.io/linuxserver/ci:latest \
-e SYFT_IMAGE_TAG=\"${CI_SYFT_IMAGE_TAG:-${SYFT_IMAGE_TAG}}\" \
-e COMMIT_SHA=\"${COMMIT_SHA}\" \
-e BUILD_NUMBER=\"${BUILD_NUMBER}\" \
-t ghcr.io/linuxserver/ci:${CITEST_IMAGETAG} \
python3 test_build.py'''
}
}
@@ -916,9 +936,11 @@ pipeline {
CACHEIMAGE=${i}
fi
done
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:develop -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:develop -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
'''
@@ -943,20 +965,27 @@ pipeline {
CACHEIMAGE=${i}
fi
done
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-develop -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-develop -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-develop -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-develop -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}:develop ${MANIFESTIMAGE}:amd64-develop ${MANIFESTIMAGE}:arm64v8-develop
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}:develop ${MANIFESTIMAGE}:amd64-develop ${MANIFESTIMAGE}:arm64v8-develop || \
{ 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
'''
@@ -974,23 +1003,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 develop",\
"type": "commit",\
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
echo "Pushing New release for Tag"
sh '''#! /bin/bash
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": "develop"}' \
| 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 develop",\
"type": "commit",\
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}'
echo "Pushing New release for Tag"
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
echo '{"tag_name":"'${META_TAG}'",\
"target_commitish": "develop",\
"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": true}' >> 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'''
jq -n \
--arg tag_name "$META_TAG" \
--arg target_commitish "develop" \
--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": true }' > 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
@@ -1028,98 +1075,13 @@ EOF
) '''
}
}
// If this is a Pull request send the CI link as a comment on it
stage('Pull Request Comment') {
when {
not {environment name: 'CHANGE_ID', value: ''}
environment name: 'EXIT_STATUS', value: ''
}
steps {
sh '''#! /bin/bash
# Function to retrieve JSON data from URL
get_json() {
local url="$1"
local response=$(curl -s "$url")
if [ $? -ne 0 ]; then
echo "Failed to retrieve JSON data from $url"
return 1
fi
local json=$(echo "$response" | jq .)
if [ $? -ne 0 ]; then
echo "Failed to parse JSON data from $url"
return 1
fi
echo "$json"
}
build_table() {
local data="$1"
# Get the keys in the JSON data
local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]')
# Check if keys are empty
if [ -z "$keys" ]; then
echo "JSON report data does not contain any keys or the report does not exist."
return 1
fi
# Build table header
local header="| Tag | Passed |\\n| --- | --- |\\n"
# Loop through the JSON data to build the table rows
local rows=""
for build in $keys; do
local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success")
if [ "$status" = "true" ]; then
status="✅"
else
status="❌"
fi
local row="| "$build" | "$status" |\\n"
rows="${rows}${row}"
done
local table="${header}${rows}"
local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g')
echo "$escaped_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}\\"}"
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
'''
}
}
}
/* ######################
Send status to Discord
Comment on PR and Send status to Discord
###################### */
post {
always {
sh '''#!/bin/bash
rm -rf /config/.ssh/id_sign
rm -rf /config/.ssh/id_sign.pub
git config --global --unset gpg.format
git config --global --unset user.signingkey
git config --global --unset commit.gpgsign
'''
script{
script {
env.JOB_DATE = sh(
script: '''date '+%Y-%m-%dT%H:%M:%S%:z' ''',
returnStdout: true).trim()
@@ -1162,6 +1124,87 @@ EOF
"username": "Jenkins"}' ${BUILDS_DISCORD} '''
}
}
script {
if (env.GITHUBIMAGE =~ /lspipepr/){
if (env.CI_TEST_ATTEMPTED == "true"){
sh '''#! /bin/bash
# Function to retrieve JSON data from URL
get_json() {
local url="$1"
local response=$(curl -s "$url")
if [ $? -ne 0 ]; then
echo "Failed to retrieve JSON data from $url"
return 1
fi
local json=$(echo "$response" | jq .)
if [ $? -ne 0 ]; then
echo "Failed to parse JSON data from $url"
return 1
fi
echo "$json"
}
build_table() {
local data="$1"
# Get the keys in the JSON data
local keys=$(echo "$data" | jq -r 'to_entries | map(.key) | .[]')
# Check if keys are empty
if [ -z "$keys" ]; then
echo "JSON report data does not contain any keys or the report does not exist."
return 1
fi
# Build table header
local header="| Tag | Passed |\\n| --- | --- |\\n"
# Loop through the JSON data to build the table rows
local rows=""
for build in $keys; do
local status=$(echo "$data" | jq -r ".[\\"$build\\"].test_success")
if [ "$status" = "true" ]; then
status="✅"
else
status="❌"
fi
local row="| "$build" | "$status" |\\n"
rows="${rows}${row}"
done
local table="${header}${rows}"
local escaped_table=$(echo "$table" | sed 's/\"/\\\\"/g')
echo "$escaped_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}\\"}"
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
'''
}
}
}
sh '''#!/bin/bash
rm -rf /config/.ssh/id_sign
rm -rf /config/.ssh/id_sign.pub
git config --global --unset gpg.format
git config --global --unset user.signingkey
git config --global --unset commit.gpgsign
'''
}
cleanup {
sh '''#! /bin/bash
Executable → Regular
View File
+8 -5
View File
@@ -5,7 +5,6 @@
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
@@ -22,7 +21,6 @@ Find us at:
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
@@ -55,7 +53,6 @@ The architectures supported by this image are:
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| armhf | ❌ | |
## Version Tags
@@ -73,11 +70,15 @@ Access the webui at `<your-ip>:7878`, for more information check out [Radarr](ht
### Media folders
We have set `/movies` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
We have set `/movies` and `/downloads` as optional paths, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.
<details>
<summary>Well planned paths</summary>
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
</details>
## Read-Only Operation
@@ -92,7 +93,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))
@@ -309,6 +310,8 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions
* **15.01.26:** - Rebase to Alpine 3.23.
* **05.07.25:** - Rebase to Alpine 3.22.
* **20.12.24:** - Rebase to Alpine 3.21.
* **25.05.24:** - Rebase to Alpine 3.20.
* **20.03.24:** - Rebase to Alpine 3.19.
+199 -415
View File
@@ -1,415 +1,199 @@
NAME VERSION TYPE
BouncyCastle.NET 2.4.0.33771 dotnet
Dapper 2.0.151.35995 dotnet
Diacritical 1.0.4.0 dotnet
DryIoc 5.4.3.0 dotnet
DryIoc.Microsoft.DependencyInjection net6.0 6.2.0.0 dotnet
Dynamitey 2.0.9.136 dotnet
Equ 2.3.0 dotnet
FFMpegCore 4.0.0.0 dotnet
FluentMigrator 3.3.2.9 dotnet (+19 duplicates)
FluentValidation 9.5.4.0 dotnet
ICSharpCode.SharpZipLib 1.4.2.13 dotnet
IPAddressRange 6.1.0.0 dotnet
Ical.Net 4.3.1+5889b14d90ccd3cd32b54229029dab52495a09b0 dotnet
ImpromptuInterface 7.0.1.0 dotnet
Instances 1.0.0.0 dotnet
Json.NET 13.0.3.27908 dotnet
MailKit 4.8.0.0 dotnet
Microsoft.AspNetCore 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Antiforgery 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Authentication 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Authentication.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Authentication.Cookies 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Authentication.Core 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Authentication.OAuth 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Authorization 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Authorization.Policy 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Components 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Components.Authorization 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Components.Forms 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Components.Server 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Components.Web 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Connections.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.CookiePolicy 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Cors 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Cryptography.Internal 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Cryptography.KeyDerivation 6.0.3524.46214 dotnet
Microsoft.AspNetCore.DataProtection 6.0.3524.46214 dotnet
Microsoft.AspNetCore.DataProtection.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.DataProtection.Extensions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Diagnostics 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Diagnostics.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Diagnostics.HealthChecks 6.0.3524.46214 dotnet
Microsoft.AspNetCore.HostFiltering 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Hosting 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Hosting.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Hosting.Server.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Html.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Http 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Http.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Http.Connections 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Http.Connections.Common 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Http.Extensions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Http.Features 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Http.Results 6.0.3524.46214 dotnet
Microsoft.AspNetCore.HttpLogging 6.0.3524.46214 dotnet
Microsoft.AspNetCore.HttpOverrides 6.0.3524.46214 dotnet
Microsoft.AspNetCore.HttpsPolicy 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Identity 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Localization 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Localization.Routing 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Metadata 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.ApiExplorer 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.Core 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.Cors 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.DataAnnotations 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.Formatters.Json 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.Formatters.Xml 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.Localization 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.Razor 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.RazorPages 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.TagHelpers 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Mvc.ViewFeatures 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Razor 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Razor.Runtime 6.0.3524.46214 dotnet
Microsoft.AspNetCore.ResponseCaching 6.0.3524.46214 dotnet
Microsoft.AspNetCore.ResponseCaching.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.ResponseCompression 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Rewrite 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Routing 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Routing.Abstractions 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Server.HttpSys 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Server.IIS 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Server.IISIntegration 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Server.Kestrel 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Server.Kestrel.Core 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Server.Kestrel.Transport.Quic 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Server.Kestrel.Transport.Sockets 6.0.3524.46214 dotnet
Microsoft.AspNetCore.Session 6.0.3524.46214 dotnet
Microsoft.AspNetCore.SignalR 6.0.3524.46214 dotnet
Microsoft.AspNetCore.SignalR.Common 6.0.3524.46214 dotnet
Microsoft.AspNetCore.SignalR.Core 6.0.3524.46214 dotnet
Microsoft.AspNetCore.SignalR.Protocols.Json 6.0.3524.46214 dotnet
Microsoft.AspNetCore.StaticFiles 6.0.3524.46214 dotnet
Microsoft.AspNetCore.WebSockets 6.0.3524.46214 dotnet
Microsoft.AspNetCore.WebUtilities 6.0.3524.46214 dotnet
Microsoft.Bcl.AsyncInterfaces 6.0.21.52210 dotnet
Microsoft.Bcl.TimeProvider 8.0.23.53103 dotnet
Microsoft.CSharp 6.0.3524.45918 dotnet
Microsoft.Data.SqlClient 2.1.7+730a7d538680463c75dd8dceec5fb27d158abea4 dotnet
Microsoft.Extensions.Caching.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.Caching.Memory 6.0.3524.45918 dotnet
Microsoft.Extensions.Configuration 6.0.322.12309 dotnet
Microsoft.Extensions.Configuration.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.Binder 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.CommandLine 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.EnvironmentVariables 6.0.222.6406 dotnet
Microsoft.Extensions.Configuration.FileExtensions 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.Ini 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.Json 6.0.21.52210 dotnet
Microsoft.Extensions.Configuration.KeyPerFile 6.0.3524.46214 dotnet
Microsoft.Extensions.Configuration.UserSecrets 6.0.222.6406 dotnet
Microsoft.Extensions.Configuration.Xml 6.0.21.52210 dotnet
Microsoft.Extensions.DependencyInjection 6.0.1022.47605 dotnet
Microsoft.Extensions.DependencyInjection.Abstractions 7.0.22.51805 dotnet
Microsoft.Extensions.Diagnostics.HealthChecks 6.0.3524.46214 dotnet
Microsoft.Extensions.Diagnostics.HealthChecks.Abstractions 6.0.3524.46214 dotnet
Microsoft.Extensions.Features 6.0.3524.46214 dotnet
Microsoft.Extensions.FileProviders.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.FileProviders.Composite 6.0.21.52210 dotnet
Microsoft.Extensions.FileProviders.Embedded 6.0.3524.46214 dotnet
Microsoft.Extensions.FileProviders.Physical 6.0.21.52210 dotnet
Microsoft.Extensions.FileSystemGlobbing 6.0.21.52210 dotnet
Microsoft.Extensions.Hosting 6.0.222.6406 dotnet
Microsoft.Extensions.Hosting.Abstractions 6.0.21.52210 dotnet
Microsoft.Extensions.Hosting.WindowsServices 6.0.1823.26907 dotnet
Microsoft.Extensions.Http 6.0.21.52210 dotnet
Microsoft.Extensions.Identity.Core 6.0.3524.46214 dotnet
Microsoft.Extensions.Identity.Stores 6.0.3524.46214 dotnet
Microsoft.Extensions.Localization 6.0.3524.46214 dotnet
Microsoft.Extensions.Localization.Abstractions 6.0.3524.46214 dotnet
Microsoft.Extensions.Logging 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.Abstractions 6.0.1823.26907 dotnet
Microsoft.Extensions.Logging.Configuration 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.Console 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.Debug 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.EventLog 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.EventSource 6.0.21.52210 dotnet
Microsoft.Extensions.Logging.TraceSource 6.0.21.52210 dotnet
Microsoft.Extensions.ObjectPool 6.0.3524.46214 dotnet
Microsoft.Extensions.Options 6.0.21.52210 dotnet
Microsoft.Extensions.Options.ConfigurationExtensions 6.0.21.52210 dotnet
Microsoft.Extensions.Options.DataAnnotations 6.0.21.52210 dotnet
Microsoft.Extensions.Primitives 6.0.21.52210 dotnet
Microsoft.Extensions.WebEncoders 6.0.3524.46214 dotnet
Microsoft.Identity.Client 4.21.1.0 dotnet
Microsoft.IdentityModel.JsonWebTokens 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Logging 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Protocols 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Protocols.OpenIdConnect 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.IdentityModel.Tokens 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
Microsoft.JSInterop 6.0.3524.46214 dotnet
Microsoft.Net.Http.Headers 6.0.3524.46214 dotnet
Microsoft.OpenApi 1.6.14.0 dotnet
Microsoft.VisualBasic 6.0.3524.45918 dotnet
Microsoft.VisualBasic.Core 11.100.3524.45918 dotnet
Microsoft.Win32.Primitives 6.0.3524.45918 dotnet
Microsoft.Win32.Registry 6.0.3524.45918 dotnet
Microsoft.Win32.SystemEvents 6.0.21.52210 dotnet
MimeKit 4.8.0.0 dotnet
Mono.Nat 3.0.1 dotnet
Mono.Posix.NETStandard 1.0.0.0 dotnet
MonoTorrent 2.0.7 dotnet
NLog v5.3.4 5.3.4.2778 dotnet
NLog.Extensions.Logging v5.3.15 5.3.15.614 dotnet
NLog.Layouts.ClefJsonLayout 1.0.3.0 dotnet
NLog.Targets.Syslog 7.0.0.0 dotnet
NodaTime 3.2.0.0 dotnet
Npgsql 7.0.9.0 dotnet
Polly 8.5.1.4253 dotnet
Polly.Contrib.WaitAndRetry 1.1.1.0+7596d2dacf22d88bbd814bc49c28424fb6e921e9 dotnet
Polly.Core 8.5.1.4253 dotnet
Radarr 5.19.3.9730 dotnet (+7 duplicates)
ReusableTasks 2.0.0 dotnet
Sentry 4.0.2.0 dotnet
SixLabors.ImageSharp 3.1.6.0 dotnet
Swashbuckle.AspNetCore.Annotations 6.6.2.401 dotnet
Swashbuckle.AspNetCore.Swagger 6.6.2.401 dotnet
Swashbuckle.AspNetCore.SwaggerGen 6.6.2.401 dotnet
System 6.0.3524.45918 dotnet
System.AppContext 6.0.3524.45918 dotnet
System.Buffers 6.0.3524.45918 dotnet
System.Collections 6.0.3524.45918 dotnet
System.Collections.Concurrent 6.0.3524.45918 dotnet
System.Collections.Immutable 6.0.3524.45918 dotnet
System.Collections.NonGeneric 6.0.3524.45918 dotnet
System.Collections.Specialized 6.0.3524.45918 dotnet
System.ComponentModel 6.0.3524.45918 dotnet
System.ComponentModel.Annotations 6.0.3524.45918 dotnet
System.ComponentModel.DataAnnotations 6.0.3524.45918 dotnet
System.ComponentModel.EventBasedAsync 6.0.3524.45918 dotnet
System.ComponentModel.Primitives 6.0.3524.45918 dotnet
System.ComponentModel.TypeConverter 6.0.3524.45918 dotnet
System.Configuration 6.0.3524.45918 dotnet
System.Configuration.ConfigurationManager 6.0.922.41905 dotnet
System.Console 6.0.3524.45918 dotnet
System.Core 6.0.3524.45918 dotnet
System.Data 6.0.3524.45918 dotnet
System.Data.Common 6.0.3524.45918 dotnet
System.Data.DataSetExtensions 6.0.3524.45918 dotnet
System.Data.SQLite 1.0.115.5 dotnet
System.Data.SqlServerCe 4.0.8876.1 dotnet
System.Diagnostics.Contracts 6.0.3524.45918 dotnet
System.Diagnostics.Debug 6.0.3524.45918 dotnet
System.Diagnostics.DiagnosticSource 6.0.3524.45918 dotnet
System.Diagnostics.EventLog 6.0.21.52210 dotnet
System.Diagnostics.FileVersionInfo 6.0.3524.45918 dotnet
System.Diagnostics.Process 6.0.3524.45918 dotnet
System.Diagnostics.StackTrace 6.0.3524.45918 dotnet
System.Diagnostics.TextWriterTraceListener 6.0.3524.45918 dotnet
System.Diagnostics.Tools 6.0.3524.45918 dotnet
System.Diagnostics.TraceSource 6.0.3524.45918 dotnet
System.Diagnostics.Tracing 6.0.3524.45918 dotnet
System.Drawing 6.0.3524.45918 dotnet
System.Drawing.Common 6.0.21.52210 dotnet
System.Drawing.Primitives 6.0.3524.45918 dotnet
System.Dynamic.Runtime 6.0.3524.45918 dotnet
System.Formats.Asn1 6.0.3524.45918 dotnet
System.Globalization 6.0.3524.45918 dotnet
System.Globalization.Calendars 6.0.3524.45918 dotnet
System.Globalization.Extensions 6.0.3524.45918 dotnet
System.IO 6.0.3524.45918 dotnet
System.IO.Compression 6.0.3524.45918 dotnet
System.IO.Compression.Brotli 6.0.3524.45918 dotnet
System.IO.Compression.FileSystem 6.0.3524.45918 dotnet
System.IO.Compression.ZipFile 6.0.3524.45918 dotnet
System.IO.FileSystem 6.0.3524.45918 dotnet
System.IO.FileSystem.AccessControl 6.0.3524.45918 dotnet
System.IO.FileSystem.DriveInfo 6.0.3524.45918 dotnet
System.IO.FileSystem.Primitives 6.0.3524.45918 dotnet
System.IO.FileSystem.Watcher 6.0.3524.45918 dotnet
System.IO.IsolatedStorage 6.0.3524.45918 dotnet
System.IO.MemoryMappedFiles 6.0.3524.45918 dotnet
System.IO.Pipelines 6.0.522.21309 dotnet
System.IO.Pipes 6.0.3524.45918 dotnet
System.IO.Pipes.AccessControl 6.0.3524.45918 dotnet
System.IO.UnmanagedMemoryStream 6.0.3524.45918 dotnet
System.IdentityModel.Tokens.Jwt 6.8.0.11012235604.824068adaeb7b158df2b36d8787f689646e715e0 dotnet
System.Linq 6.0.3524.45918 dotnet
System.Linq.Expressions 6.0.3524.45918 dotnet
System.Linq.Parallel 6.0.3524.45918 dotnet
System.Linq.Queryable 6.0.3524.45918 dotnet
System.Memory 6.0.3524.45918 dotnet
System.Net 6.0.3524.45918 dotnet
System.Net.Http 6.0.3524.45918 dotnet
System.Net.Http.Json 6.0.3524.45918 dotnet
System.Net.HttpListener 6.0.3524.45918 dotnet
System.Net.Mail 6.0.3524.45918 dotnet
System.Net.NameResolution 6.0.3524.45918 dotnet
System.Net.NetworkInformation 6.0.3524.45918 dotnet
System.Net.Ping 6.0.3524.45918 dotnet
System.Net.Primitives 6.0.3524.45918 dotnet
System.Net.Quic 6.0.3524.45918 dotnet
System.Net.Requests 6.0.3524.45918 dotnet
System.Net.Security 6.0.3524.45918 dotnet
System.Net.ServicePoint 6.0.3524.45918 dotnet
System.Net.Sockets 6.0.3524.45918 dotnet
System.Net.WebClient 6.0.3524.45918 dotnet
System.Net.WebHeaderCollection 6.0.3524.45918 dotnet
System.Net.WebProxy 6.0.3524.45918 dotnet
System.Net.WebSockets 6.0.3524.45918 dotnet
System.Net.WebSockets.Client 6.0.3524.45918 dotnet
System.Numerics 6.0.3524.45918 dotnet
System.Numerics.Vectors 6.0.3524.45918 dotnet
System.ObjectModel 6.0.3524.45918 dotnet
System.Private.CoreLib 6.0.3524.45918 dotnet
System.Private.DataContractSerialization 6.0.3524.45918 dotnet
System.Private.Uri 6.0.3524.45918 dotnet
System.Private.Xml 6.0.3524.45918 dotnet
System.Private.Xml.Linq 6.0.3524.45918 dotnet
System.Reflection 6.0.3524.45918 dotnet
System.Reflection.DispatchProxy 6.0.3524.45918 dotnet
System.Reflection.Emit 6.0.3524.45918 dotnet
System.Reflection.Emit.ILGeneration 6.0.3524.45918 dotnet
System.Reflection.Emit.Lightweight 6.0.3524.45918 dotnet
System.Reflection.Extensions 6.0.3524.45918 dotnet
System.Reflection.Metadata 6.0.3524.45918 dotnet
System.Reflection.Primitives 6.0.3524.45918 dotnet
System.Reflection.TypeExtensions 6.0.3524.45918 dotnet
System.Resources.Reader 6.0.3524.45918 dotnet
System.Resources.ResourceManager 6.0.3524.45918 dotnet
System.Resources.Writer 6.0.3524.45918 dotnet
System.Runtime 6.0.3524.45918 dotnet
System.Runtime.Caching 4.700.19.56404 dotnet
System.Runtime.CompilerServices.VisualC 6.0.3524.45918 dotnet
System.Runtime.Extensions 6.0.3524.45918 dotnet
System.Runtime.Handles 6.0.3524.45918 dotnet
System.Runtime.InteropServices 6.0.3524.45918 dotnet
System.Runtime.InteropServices.RuntimeInformation 6.0.3524.45918 dotnet
System.Runtime.Intrinsics 6.0.3524.45918 dotnet
System.Runtime.Loader 6.0.3524.45918 dotnet
System.Runtime.Numerics 6.0.3524.45918 dotnet
System.Runtime.Serialization 6.0.3524.45918 dotnet
System.Runtime.Serialization.Formatters 6.0.3524.45918 dotnet
System.Runtime.Serialization.Json 6.0.3524.45918 dotnet
System.Runtime.Serialization.Primitives 6.0.3524.45918 dotnet
System.Runtime.Serialization.Xml 6.0.3524.45918 dotnet
System.Security 6.0.3524.45918 dotnet
System.Security.AccessControl 6.0.3524.45918 dotnet
System.Security.Claims 6.0.3524.45918 dotnet
System.Security.Cryptography.Algorithms 6.0.3524.45918 dotnet
System.Security.Cryptography.Cng 6.0.3524.45918 dotnet
System.Security.Cryptography.Csp 6.0.3524.45918 dotnet
System.Security.Cryptography.Encoding 6.0.3524.45918 dotnet
System.Security.Cryptography.OpenSsl 6.0.3524.45918 dotnet
System.Security.Cryptography.Pkcs 8.0.23.53103 dotnet
System.Security.Cryptography.Primitives 6.0.3524.45918 dotnet
System.Security.Cryptography.ProtectedData 6.0.21.52210 dotnet
System.Security.Cryptography.X509Certificates 6.0.3524.45918 dotnet
System.Security.Cryptography.Xml 6.0.822.36306 dotnet
System.Security.Permissions 6.0.21.52210 dotnet
System.Security.Principal 6.0.3524.45918 dotnet
System.Security.Principal.Windows 6.0.3524.45918 dotnet
System.Security.SecureString 6.0.3524.45918 dotnet
System.ServiceModel.Web 6.0.3524.45918 dotnet
System.ServiceProcess 6.0.3524.45918 dotnet
System.ServiceProcess.ServiceController 6.0.1823.26907 dotnet
System.Text.Encoding 6.0.3524.45918 dotnet
System.Text.Encoding.CodePages 6.0.3524.45918 dotnet
System.Text.Encoding.Extensions 6.0.3524.45918 dotnet
System.Text.Encodings.Web 6.0.3524.45918 dotnet
System.Text.Json 6.0.3524.45918 dotnet
System.Text.RegularExpressions 6.0.3524.45918 dotnet
System.Threading 6.0.3524.45918 dotnet
System.Threading.Channels 6.0.3524.45918 dotnet
System.Threading.Overlapped 6.0.3524.45918 dotnet
System.Threading.Tasks 6.0.3524.45918 dotnet
System.Threading.Tasks.Dataflow 6.0.3524.45918 dotnet
System.Threading.Tasks.Extensions 6.0.3524.45918 dotnet
System.Threading.Tasks.Parallel 6.0.3524.45918 dotnet
System.Threading.Thread 6.0.3524.45918 dotnet
System.Threading.ThreadPool 6.0.3524.45918 dotnet
System.Threading.Timer 6.0.3524.45918 dotnet
System.Transactions 6.0.3524.45918 dotnet
System.Transactions.Local 6.0.3524.45918 dotnet
System.ValueTuple 6.0.3524.45918 dotnet
System.Web 6.0.3524.45918 dotnet
System.Web.HttpUtility 6.0.3524.45918 dotnet
System.Windows 6.0.3524.45918 dotnet
System.Windows.Extensions 6.0.21.52210 dotnet
System.Xml 6.0.3524.45918 dotnet
System.Xml.Linq 6.0.3524.45918 dotnet
System.Xml.ReaderWriter 6.0.3524.45918 dotnet
System.Xml.Serialization 6.0.3524.45918 dotnet
System.Xml.XDocument 6.0.3524.45918 dotnet
System.Xml.XPath 6.0.3524.45918 dotnet
System.Xml.XPath.XDocument 6.0.3524.45918 dotnet
System.Xml.XmlDocument 6.0.3524.45918 dotnet
System.Xml.XmlSerializer 6.0.3524.45918 dotnet
WindowsBase 6.0.3524.45918 dotnet
acl-libs 2.3.2-r1 apk
alpine-baselayout 3.6.8-r1 apk
alpine-baselayout-data 3.6.8-r1 apk
alpine-keys 2.5-r0 apk
alpine-release 3.21.3-r0 apk
apk-tools 2.14.6-r3 apk
bash 5.2.37-r0 apk
brotli-libs 1.1.0-r2 apk
busybox 1.37.0-r12 apk
busybox-binsh 1.37.0-r12 apk
c-ares 1.34.3-r0 apk
ca-certificates 20241121-r1 apk
ca-certificates-bundle 20241121-r1 apk
catatonit 0.2.0-r0 apk
coreutils 9.5-r2 apk
coreutils-env 9.5-r2 apk
coreutils-fmt 9.5-r2 apk
coreutils-sha512sum 9.5-r2 apk
curl 8.12.1-r0 apk
findutils 4.10.0-r0 apk
icu-data-en 74.2-r0 apk
icu-libs 74.2-r0 apk
jq 1.7.1-r0 apk
libattr 2.5.2-r2 apk
libbsd 0.12.2-r0 apk
libcrypto3 3.3.3-r0 apk
libcurl 8.12.1-r0 apk
libgcc 14.2.0-r4 apk
libgcrypt 1.10.3-r1 apk
libgpg-error 1.51-r0 apk
libidn2 2.3.7-r0 apk
libintl 0.22.5-r0 apk
libmd 1.1.0-r0 apk
libncursesw 6.5_p20241006-r3 apk
libproc2 4.0.4-r2 apk
libpsl 0.21.5-r3 apk
libssl3 3.3.3-r0 apk
libstdc++ 14.2.0-r4 apk
libunistring 1.2-r0 apk
libxml2 2.13.4-r3 apk
libxslt 1.1.42-r1 apk
linux-pam 1.6.1-r1 apk
mscorlib 6.0.3524.45918 dotnet
musl 1.2.5-r9 apk
musl-utils 1.2.5-r9 apk
ncurses-terminfo-base 6.5_p20241006-r3 apk
netcat-openbsd 1.226.1.1-r0 apk
netstandard 6.0.3524.45918 dotnet
nghttp2-libs 1.64.0-r0 apk
oniguruma 6.9.9-r0 apk
procps-ng 4.0.4-r2 apk
readline 8.2.13-r0 apk
scanelf 1.3.8-r1 apk
shadow 4.16.0-r1 apk
skalibs-libs 2.14.3.0-r0 apk
sqlite-libs 3.48.0-r0 apk
ssl_client 1.37.0-r12 apk
tzdata 2025a-r0 apk
utmps-libs 0.1.2.3-r2 apk
xmlstarlet 1.6.1-r2 apk
xz-libs 5.6.3-r0 apk
zlib 1.3.1-r2 apk
zstd-libs 1.5.6-r2 apk
NAME VERSION TYPE
Azure.Core 1.47.1 dotnet (+5 duplicates)
Azure.Identity 1.14.2 dotnet (+5 duplicates)
BouncyCastle.Cryptography 2.6.2 dotnet (+5 duplicates)
Dapper 2.1.66 dotnet (+5 duplicates)
Diacritical.Net 1.0.4 dotnet (+5 duplicates)
DryIoc.Microsoft.DependencyInjection 6.2.0 dotnet (+1 duplicate)
DryIoc.dll 5.4.3 dotnet (+7 duplicates)
Dynamitey 3.0.3 dotnet (+3 duplicates)
Equ 2.3.0 dotnet (+5 duplicates)
FluentMigrator 6.2.0 dotnet (+5 duplicates)
FluentMigrator.Abstractions 6.2.0 dotnet (+5 duplicates)
FluentMigrator.Extensions.Postgres 6.2.0 dotnet (+5 duplicates)
FluentMigrator.Runner.Core 6.2.0 dotnet (+5 duplicates)
FluentMigrator.Runner.Postgres 6.2.0 dotnet (+5 duplicates)
FluentMigrator.Runner.SQLite 6.2.0 dotnet (+5 duplicates)
FluentValidation 9.5.4 dotnet (+5 duplicates)
IPAddressRange 6.2.0 dotnet (+7 duplicates)
Ical.Net 4.3.1 dotnet (+2 duplicates)
ImpromptuInterface 8.0.6 dotnet (+3 duplicates)
Instances 1.6.1 dotnet (+5 duplicates)
MailKit 4.15.1 dotnet (+5 duplicates)
Microsoft.AspNetCore.Cryptography.Internal 8.0.17 dotnet (+5 duplicates)
Microsoft.AspNetCore.Cryptography.KeyDerivation 8.0.17 dotnet (+5 duplicates)
Microsoft.Bcl.AsyncInterfaces 8.0.0 dotnet (+5 duplicates)
Microsoft.Bcl.Cryptography 8.0.0 dotnet (+5 duplicates)
Microsoft.Data.SqlClient 6.1.1 dotnet (+5 duplicates)
Microsoft.Extensions.Caching.Abstractions 8.0.0 dotnet (+4 duplicates)
Microsoft.Extensions.Caching.Memory 8.0.1 dotnet (+5 duplicates)
Microsoft.Extensions.Configuration 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.Abstractions 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.Binder 8.0.2 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.CommandLine 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.EnvironmentVariables 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.FileExtensions 8.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.Json 8.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.Configuration.UserSecrets 8.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.DependencyInjection 8.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.DependencyInjection.Abstractions 8.0.2 dotnet (+6 duplicates)
Microsoft.Extensions.Diagnostics 8.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.Diagnostics.Abstractions 8.0.1 dotnet (+6 duplicates)
Microsoft.Extensions.FileProviders.Abstractions 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.FileProviders.Physical 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.FileSystemGlobbing 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.Hosting 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Hosting.Abstractions 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Hosting.WindowsServices 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Logging 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Logging.Abstractions 8.0.2 dotnet (+1 duplicate)
Microsoft.Extensions.Logging.Abstractions 8.0.3 dotnet (+5 duplicates)
Microsoft.Extensions.Logging.Configuration 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Logging.Console 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Logging.Debug 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Logging.EventLog 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Logging.EventSource 8.0.1 dotnet (+7 duplicates)
Microsoft.Extensions.Options 8.0.2 dotnet (+6 duplicates)
Microsoft.Extensions.Options.ConfigurationExtensions 8.0.0 dotnet (+6 duplicates)
Microsoft.Extensions.Primitives 8.0.0 dotnet (+6 duplicates)
Microsoft.Identity.Client 4.73.1 dotnet (+5 duplicates)
Microsoft.Identity.Client.Extensions.Msal 4.73.1 dotnet (+5 duplicates)
Microsoft.IdentityModel.Abstractions 7.7.1 dotnet (+5 duplicates)
Microsoft.IdentityModel.JsonWebTokens 7.7.1 dotnet (+5 duplicates)
Microsoft.IdentityModel.Logging 7.7.1 dotnet (+5 duplicates)
Microsoft.IdentityModel.Protocols 7.7.1 dotnet (+5 duplicates)
Microsoft.IdentityModel.Protocols.OpenIdConnect 7.7.1 dotnet (+5 duplicates)
Microsoft.IdentityModel.Tokens 7.7.1 dotnet (+5 duplicates)
Microsoft.OpenApi 1.6.23 dotnet (+2 duplicates)
Microsoft.SqlServer.Server 1.0.0 dotnet (+5 duplicates)
Microsoft.Win32.SystemEvents 8.0.0 dotnet (+5 duplicates)
MimeKit 4.15.1 dotnet (+5 duplicates)
Mono.Nat 3.0.0 dotnet (+5 duplicates)
Mono.Posix.NETStandard 5.20.1.34-servarr20 dotnet
MonoTorrent 3.0.2 dotnet (+5 duplicates)
NLog 5.4.0 dotnet (+7 duplicates)
NLog.Extensions.Logging 5.4.0 dotnet (+7 duplicates)
NLog.Layouts.ClefJsonLayout 1.0.3 dotnet (+7 duplicates)
NLog.Targets.Syslog 7.0.0 dotnet (+7 duplicates)
Newtonsoft.Json 13.0.3 dotnet (+7 duplicates)
NodaTime 3.2.0 dotnet (+2 duplicates)
Npgsql 9.0.3 dotnet (+7 duplicates)
Polly 8.6.0 dotnet (+5 duplicates)
Polly.Contrib.WaitAndRetry 1.1.1 dotnet (+7 duplicates)
Polly.Core 8.6.0 dotnet (+5 duplicates)
Radarr 1.0.0 dotnet
Radarr.Api.V3 1.0.0 dotnet (+2 duplicates)
Radarr.Common 1.0.0 dotnet (+7 duplicates)
Radarr.Core 1.0.0 dotnet (+5 duplicates)
Radarr.Host 1.0.0 dotnet (+1 duplicate)
Radarr.Http 1.0.0 dotnet (+3 duplicates)
Radarr.Mono 1.0.0 dotnet
Radarr.SignalR 1.0.0 dotnet (+4 duplicates)
ReusableTasks 4.0.0 dotnet (+5 duplicates)
Sentry 4.0.2 dotnet (+7 duplicates)
Servarr.FFMpegCore 4.7.0-26 dotnet (+5 duplicates)
Servarr.FFprobe 5.1.4.112 dotnet (+5 duplicates)
SharpZipLib 1.4.2 dotnet (+7 duplicates)
SixLabors.ImageSharp 3.1.12 dotnet (+5 duplicates)
SourceGear.sqlite3 3.50.4.2 dotnet (+7 duplicates)
Swashbuckle.AspNetCore.Annotations 8.1.4 dotnet (+2 duplicates)
Swashbuckle.AspNetCore.Swagger 8.1.4 dotnet (+2 duplicates)
Swashbuckle.AspNetCore.SwaggerGen 8.1.4 dotnet (+2 duplicates)
System.ClientModel 1.5.1 dotnet (+5 duplicates)
System.ComponentModel 4.3.0 dotnet (+2 duplicates)
System.ComponentModel.Annotations 5.0.0 dotnet (+4 duplicates)
System.Configuration.ConfigurationManager 8.0.1 dotnet (+7 duplicates)
System.Data.SQLite 2.0.2 dotnet (+7 duplicates)
System.Diagnostics.DiagnosticSource 6.0.1 dotnet (+4 duplicates)
System.Diagnostics.EventLog 8.0.1 dotnet (+6 duplicates)
System.Drawing.Common 8.0.20 dotnet (+5 duplicates)
System.Formats.Asn1 8.0.1 dotnet (+4 duplicates)
System.IO 4.3.0 dotnet (+5 duplicates)
System.IO.FileSystem.AccessControl 5.0.0 dotnet (+5 duplicates)
System.IdentityModel.Tokens.Jwt 7.7.1 dotnet (+5 duplicates)
System.Memory.Data 8.0.1 dotnet (+5 duplicates)
System.Private.Uri 4.3.0 dotnet (+5 duplicates)
System.Reflection 4.3.0 dotnet (+5 duplicates)
System.Reflection.Primitives 4.3.0 dotnet (+5 duplicates)
System.Runtime 4.3.0 dotnet (+5 duplicates)
System.Runtime.CompilerServices.Unsafe 6.0.0 dotnet (+4 duplicates)
System.Runtime.Loader 4.3.0 dotnet (+5 duplicates)
System.Security.AccessControl 5.0.0 dotnet (+5 duplicates)
System.Security.Cryptography.Pkcs 8.0.1 dotnet (+4 duplicates)
System.Security.Cryptography.ProtectedData 8.0.0 dotnet (+7 duplicates)
System.Security.Principal.Windows 5.0.0 dotnet (+5 duplicates)
System.ServiceProcess.ServiceController 8.0.1 dotnet (+7 duplicates)
System.Text.Encoding 4.3.0 dotnet (+5 duplicates)
System.Text.Encoding.CodePages 8.0.0 dotnet (+4 duplicates)
System.Text.Json 8.0.5 dotnet (+5 duplicates)
System.Threading.Tasks 4.3.0 dotnet (+5 duplicates)
acl-libs 2.3.2-r1 apk
alpine-baselayout 3.7.2-r0 apk
alpine-baselayout-data 3.7.2-r0 apk
alpine-keys 2.6-r0 apk
alpine-release 3.23.3-r0 apk
apk-tools 3.0.5-r0 apk
bash 5.3.3-r1 apk
brotli-libs 1.2.0-r0 apk
busybox 1.37.0-r30 apk
busybox-binsh 1.37.0-r30 apk
c-ares 1.34.6-r0 apk
ca-certificates 20251003-r0 apk
ca-certificates-bundle 20251003-r0 apk
catatonit 0.2.1-r0 apk
coreutils 9.8-r1 apk
coreutils-env 9.8-r1 apk
coreutils-fmt 9.8-r1 apk
coreutils-sha512sum 9.8-r1 apk
curl 8.17.0-r1 apk
findutils 4.10.0-r0 apk
icu-data-en 76.1-r1 apk
icu-libs 76.1-r1 apk
jq 1.8.1-r0 apk
libapk 3.0.5-r0 apk
libattr 2.5.2-r2 apk
libbsd 0.12.2-r0 apk
libcrypto3 3.5.6-r0 apk
libcurl 8.17.0-r1 apk
libgcc 15.2.0-r2 apk
libidn2 2.3.8-r0 apk
libintl 0.24.1-r1 apk
libmd 1.1.0-r0 apk
libncursesw 6.5_p20251123-r0 apk
libproc2 4.0.5-r0 apk
libpsl 0.21.5-r3 apk
libssl3 3.5.6-r0 apk
libstdc++ 15.2.0-r2 apk
libunistring 1.4.1-r0 apk
libxml2 2.13.9-r0 apk
libxslt 1.1.43-r3 apk
linux-pam 1.7.1-r2 apk
musl 1.2.5-r23 apk
musl-utils 1.2.5-r23 apk
ncurses-terminfo-base 6.5_p20251123-r0 apk
netcat-openbsd 1.234.1-r0 apk
nghttp2-libs 1.68.0-r0 apk
nghttp3 1.13.1-r0 apk
oniguruma 6.9.10-r0 apk
procps-ng 4.0.5-r0 apk
readline 8.3.1-r0 apk
runtime.any.System.IO 4.3.0 dotnet (+5 duplicates)
runtime.any.System.Reflection 4.3.0 dotnet (+5 duplicates)
runtime.any.System.Reflection.Primitives 4.3.0 dotnet (+5 duplicates)
runtime.any.System.Runtime 4.3.0 dotnet (+5 duplicates)
runtime.any.System.Text.Encoding 4.3.0 dotnet (+5 duplicates)
runtime.any.System.Threading.Tasks 4.3.0 dotnet (+5 duplicates)
runtime.unix.System.Private.Uri 4.3.0 dotnet (+5 duplicates)
runtimepack.Microsoft.AspNetCore.App.Runtime.linux-musl-x64 8.0.12 dotnet (+4 duplicates)
runtimepack.Microsoft.NETCore.App.Runtime.linux-musl-x64 8.0.12 dotnet (+7 duplicates)
scanelf 1.3.8-r2 apk
shadow 4.18.0-r0 apk
skalibs-libs 2.14.4.0-r0 apk
sqlite-libs 3.51.2-r0 apk
ssl_client 1.37.0-r30 apk
tzdata 2026a-r0 apk
utmps-libs 0.1.3.1-r0 apk
xmlstarlet 1.6.1-r2 apk
xz-libs 5.8.2-r0 apk
zlib 1.3.2-r0 apk
zstd-libs 1.5.7-r2 apk
+6 -9
View File
@@ -35,14 +35,7 @@ nonroot_supported: true
app_setup_block_enabled: true
app_setup_block: |
Access the webui at `<your-ip>:7878`, for more information check out [Radarr](https://github.com/Radarr/Radarr).
### Media folders
We have set `/movies` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content.
Use the optional paths if you don't understand, or don't want hardlinks/atomic moves.
The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this.
readme_media: true
# init diagram
init_diagram: |
"radarr:develop": {
@@ -64,12 +57,14 @@ init_diagram: |
init-radarr-config -> init-config-end
init-config -> init-crontab-config
init-mods-end -> init-custom-files
init-adduser -> init-device-perms
base -> init-envfile
base -> init-migrations
init-config-end -> init-mods
init-mods-package-install -> init-mods-end
init-mods -> init-mods-package-install
init-adduser -> init-os-end
init-device-perms -> init-os-end
init-envfile -> init-os-end
init-config -> init-radarr-config
init-custom-files -> init-services
@@ -79,11 +74,13 @@ init_diagram: |
svc-radarr -> legacy-services
}
Base Images: {
"baseimage-alpine:3.21"
"baseimage-alpine:3.23"
}
"radarr:develop" <- Base Images
# changelog
changelogs:
- {date: "15.01.26:", desc: "Rebase to Alpine 3.23."}
- {date: "05.07.25:", desc: "Rebase to Alpine 3.22."}
- {date: "20.12.24:", desc: "Rebase to Alpine 3.21."}
- {date: "25.05.24:", desc: "Rebase to Alpine 3.20."}
- {date: "20.03.24:", desc: "Rebase to Alpine 3.19."}
Executable → Regular
View File