mirror of
https://github.com/linuxserver/docker-prowlarr.git
synced 2025-04-24 13:57:25 -04:00
Compare commits
199 commits
develop-1.
...
main
Author | SHA1 | Date | |
---|---|---|---|
|
50cf145deb | ||
|
b47430409c | ||
|
a3224c4e5a | ||
|
a72070c6a7 | ||
|
b51495370f | ||
|
0c1e952959 | ||
|
de7c74689c | ||
|
17faa4ff67 | ||
|
e9d6376978 | ||
|
1f5f360e71 | ||
|
bcdb45dcc6 | ||
|
1f1761a667 | ||
|
583bbfac9d | ||
|
ed852c57eb | ||
|
95f4105547 | ||
|
5223bad6fc | ||
|
bfebe08279 | ||
|
c19afd45da | ||
|
8e6e1bc606 | ||
|
4e2bfc154d | ||
|
9fea0d2aca | ||
|
25897e407d | ||
|
9b501edf6b | ||
|
166747ae50 | ||
|
1b020e940c | ||
|
7543d440df | ||
|
e1ed911ab5 | ||
|
48ca8247b3 | ||
|
0098ce9358 | ||
|
e239a7ee6d | ||
|
cee73729aa | ||
|
748531c3b4 | ||
|
b04c068779 | ||
|
1c17bec270 | ||
|
f8ce8f6ca6 | ||
|
226ee9ff60 | ||
|
b055052e2d | ||
|
d88395a546 | ||
|
7cbbd2f4c3 | ||
|
8bf40a81da | ||
|
d0ba30f86c | ||
|
dd914477e9 | ||
|
67edf4cf5a | ||
|
6b873644c2 | ||
|
04363ca967 | ||
|
f259715b32 | ||
|
0aabeec85d | ||
|
2b1a44501d | ||
|
825df237f2 | ||
|
816f2db80d | ||
|
c52c0a4b48 | ||
|
1c9908b74e | ||
|
d19ef6c9b8 | ||
|
b1ffeca729 | ||
|
94c6ca22f4 | ||
|
2c2a6d2367 | ||
|
1c205c1da6 | ||
|
78bdf3300b | ||
|
55ec344b47 | ||
|
a92ee4c645 | ||
|
46a870db49 | ||
|
2db4cd3f38 | ||
|
9e71df18a2 | ||
|
fd5f7a4dab | ||
|
7a7b7e4544 | ||
|
7e31ae474c | ||
|
9dec52e178 | ||
|
c48eef1549 | ||
|
27b64204b4 | ||
|
3fa75e0cd4 | ||
|
6ab0f12047 | ||
|
2ca5b5f081 | ||
|
253f6cd3e4 | ||
|
31463bcf64 | ||
|
07847c4ed3 | ||
|
ce935bc242 | ||
|
4c050b1867 | ||
|
f77f3441f1 | ||
|
1b361cb7b6 | ||
|
414be5de91 | ||
|
d7f5327108 | ||
|
0af2e72749 | ||
|
f7442bfb03 | ||
|
91255ee3e4 | ||
|
8d89fed700 | ||
|
8fd5b5469b | ||
|
46707872cd | ||
|
6f4b0b3e7c | ||
|
d231b6bd6f | ||
|
d99f05f7ff | ||
|
0319843a22 | ||
|
ba12e50438 | ||
|
31003cf440 | ||
|
5609574ef7 | ||
|
026e86b984 | ||
|
d2cc77ec5a | ||
|
4f1876939d | ||
|
fba8199702 | ||
|
15361ea926 | ||
|
f4c8418587 | ||
|
b5e8045146 | ||
|
232fbefe5c | ||
|
ba781a7848 | ||
|
2ed157e74e | ||
|
a7b6acd29f | ||
|
46de7e8a13 | ||
|
bdd846f668 | ||
|
89932e31d6 | ||
|
23fc1576ab | ||
|
da99190790 | ||
|
53db731f8a | ||
|
184baa0c64 | ||
|
965079c5a8 | ||
|
f6467f9a96 | ||
|
aa9f3d7322 | ||
|
821acbb13d | ||
|
23899209ba | ||
|
e63b8a53e9 | ||
|
a975bd6955 | ||
|
f40fb223dd | ||
|
253ae73329 | ||
|
c3128bc4b9 | ||
|
5cd08981b9 | ||
|
33fe5631a5 | ||
|
1618ab3dbc | ||
|
0ea0b430ab | ||
|
00146f0b1e | ||
|
906d34bfd7 | ||
|
3dfce49ee9 | ||
|
2220ddf7db | ||
|
dafa37335a | ||
|
0b27161691 | ||
|
f3a2039b3f | ||
|
4a37db62b7 | ||
|
0a26be391a | ||
|
08fd750c01 | ||
|
d70e18aafd | ||
|
cad5ce4330 | ||
|
e565bc8b8e | ||
|
fc1b26b1ea | ||
|
90c1087693 | ||
|
55e70fafe1 | ||
|
5d87489772 | ||
|
eab3cc3f6a | ||
|
024e3fc373 | ||
|
d6dbd7a670 | ||
|
e497d7b7dc | ||
|
904ee465c6 | ||
|
acc6d8cc0c | ||
|
9e3152839b | ||
|
98d37c9da7 | ||
|
915023a4f8 | ||
|
88e18ee8bd | ||
|
08963632f4 | ||
|
670d18dd22 | ||
|
4cca0b0f0b | ||
|
de1af557f1 | ||
|
6ddb93de09 | ||
|
5ef6164912 | ||
|
caa042846a | ||
|
1cf3f5b432 | ||
|
d179d824e5 | ||
|
a6b07547f2 | ||
|
c3f79c294b | ||
|
c443f637ed | ||
|
39772b0a41 | ||
|
b7b2975c0d | ||
|
fcfba08e2e | ||
|
d765dc7121 | ||
|
564b0aee3b | ||
|
b76651c824 | ||
|
d4f902e2e8 | ||
|
2b514fbb35 | ||
|
169a7ee007 | ||
|
0780684e60 | ||
|
99f542e36b | ||
|
7690b5cb17 | ||
|
8851cf3a8b | ||
|
5eab9e7ba8 | ||
|
0c774f1380 | ||
|
89e85f70e5 | ||
|
09309c2cd5 | ||
|
f17fe29202 | ||
|
707bf08141 | ||
|
8c73f23421 | ||
|
ea1c38f573 | ||
|
0f81fc7763 | ||
|
8e5d232ccf | ||
|
c3687f6ce4 | ||
|
2bd5de0fd7 | ||
|
bd073d88c0 | ||
|
d08c5ab11b | ||
|
c5243e7e6c | ||
|
caab084d01 | ||
|
d47a59aefc | ||
|
d182524be4 | ||
|
efe5d18fc6 | ||
|
af27074c03 | ||
|
2dfbc96ab8 |
19 changed files with 109 additions and 108 deletions
0
.editorconfig
Executable file → Normal file
0
.editorconfig
Executable file → Normal file
4
.github/CONTRIBUTING.md
vendored
Executable file → Normal file
4
.github/CONTRIBUTING.md
vendored
Executable file → Normal file
|
@ -24,7 +24,7 @@
|
|||
## Readme
|
||||
|
||||
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
|
||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-prowlarr/edit/develop/readme-vars.yml).
|
||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-prowlarr/edit/main/readme-vars.yml).
|
||||
|
||||
These variables are used in a template for our [Jenkins Builder](https://github.com/linuxserver/docker-jenkins-builder) as part of an ansible play.
|
||||
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-prowlarr)
|
||||
|
@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||
|
||||
## Update the changelog
|
||||
|
||||
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-prowlarr/tree/develop/root), add an entry to the changelog
|
||||
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-prowlarr/tree/main/root), add an entry to the changelog
|
||||
|
||||
```yml
|
||||
changelogs:
|
||||
|
|
0
.github/FUNDING.yml
vendored
Executable file → Normal file
0
.github/FUNDING.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/config.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/config.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.bug.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.bug.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.feature.yml
vendored
Executable file → Normal file
0
.github/ISSUE_TEMPLATE/issue.feature.yml
vendored
Executable file → Normal file
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
Executable file → Normal file
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
Executable file → Normal file
|
@ -21,7 +21,7 @@
|
|||
|
||||
------------------------------
|
||||
|
||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-prowlarr/blob/develop/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-prowlarr/blob/main/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
|
||||
------------------------------
|
||||
|
||||
|
|
32
.github/workflows/external_trigger.yml
vendored
Executable file → Normal file
32
.github/workflows/external_trigger.yml
vendored
Executable file → Normal file
|
@ -4,31 +4,31 @@ on:
|
|||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
external-trigger-develop:
|
||||
external-trigger-main:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
|
||||
- name: External Trigger
|
||||
if: github.ref == 'refs/heads/develop'
|
||||
if: github.ref == 'refs/heads/main'
|
||||
env:
|
||||
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
||||
run: |
|
||||
printf "# External trigger for docker-prowlarr\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^prowlarr_develop_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
if grep -q "^prowlarr_main_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`prowlarr_develop_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||
elif grep -q "^prowlarr_develop" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`prowlarr_main_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||
elif grep -q "^prowlarr_main" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`prowlarr_develop\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`prowlarr_main\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
fi
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of develop branch. To disable this trigger, add \`prowlarr_develop\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of main branch. To disable this trigger, add \`prowlarr_main\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
EXT_RELEASE=$(curl -sL "https://prowlarr.servarr.com/v1/update/develop/changes?runtime=netcore&os=linuxmusl" | jq -r '.[0].version')
|
||||
EXT_RELEASE=$(curl -sL "https://prowlarr.servarr.com/v1/update/master/changes?runtime=netcore&os=linuxmusl" | jq -r '.[0].version')
|
||||
echo "Type is \`custom_version_command\`" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^prowlarr_develop_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
if grep -q "^prowlarr_main_${EXT_RELEASE}" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` matches current external release; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
|
@ -36,7 +36,7 @@ jobs:
|
|||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="Can't retrieve external version for prowlarr branch develop"
|
||||
FAILURE_REASON="Can't retrieve external version for prowlarr branch main"
|
||||
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-prowlarr/actions/runs/${{ github.run_id }}"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
||||
|
@ -47,7 +47,7 @@ jobs:
|
|||
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
|
||||
image="linuxserver/prowlarr"
|
||||
tag="develop"
|
||||
tag="latest"
|
||||
token=$(curl -sX GET \
|
||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fprowlarr%3Apull" \
|
||||
| jq -r '.token')
|
||||
|
@ -93,7 +93,7 @@ jobs:
|
|||
if [ -z "${IMAGE_VERSION}" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="Can't retrieve last pushed version for prowlarr tag develop"
|
||||
FAILURE_REASON="Can't retrieve last pushed version for prowlarr tag latest"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
|
@ -103,14 +103,14 @@ jobs:
|
|||
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
||||
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-prowlarr/job/develop/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-prowlarr/job/main/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
|
||||
exit 0
|
||||
else
|
||||
if [[ "${artifacts_found}" == "false" ]]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="New version ${EXT_RELEASE} for prowlarr tag develop is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
||||
FAILURE_REASON="New version ${EXT_RELEASE} for prowlarr tag latest is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
|
@ -121,7 +121,7 @@ jobs:
|
|||
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
response=$(curl -iX POST \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-prowlarr/job/develop/buildWithParameters?PACKAGE_CHECK=false \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-prowlarr/job/main/buildWithParameters?PACKAGE_CHECK=false \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
||||
|
@ -136,7 +136,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 prowlarr tag develop. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
|
||||
TRIGGER_REASON="A version change was detected for prowlarr tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
|
||||
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 }}
|
||||
|
|
0
.github/workflows/external_trigger_scheduler.yml
vendored
Executable file → Normal file
0
.github/workflows/external_trigger_scheduler.yml
vendored
Executable file → Normal file
2
.github/workflows/greetings.yml
vendored
Executable file → Normal file
2
.github/workflows/greetings.yml
vendored
Executable file → Normal file
|
@ -9,5 +9,5 @@ jobs:
|
|||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
|
||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-prowlarr/blob/develop/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-prowlarr/blob/main/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
0
.github/workflows/package_trigger_scheduler.yml
vendored
Executable file → Normal file
0
.github/workflows/package_trigger_scheduler.yml
vendored
Executable file → Normal file
|
@ -10,7 +10,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
|||
LABEL maintainer="Roxedus,thespad"
|
||||
|
||||
# environment settings
|
||||
ARG PROWLARR_BRANCH="develop"
|
||||
ARG PROWLARR_BRANCH="master"
|
||||
ENV XDG_CONFIG_HOME="/config/xdg" \
|
||||
COMPlus_EnableDiagnostics=0 \
|
||||
TMPDIR=/run/prowlarr-temp
|
||||
|
@ -38,12 +38,12 @@ RUN \
|
|||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/app/prowlarr/bin/Prowlarr.Update \
|
||||
/tmp/*
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9696
|
||||
|
||||
VOLUME /config
|
||||
|
|
|
@ -10,7 +10,7 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
|||
LABEL maintainer="Roxedus,thespad"
|
||||
|
||||
# environment settings
|
||||
ARG PROWLARR_BRANCH="develop"
|
||||
ARG PROWLARR_BRANCH="master"
|
||||
ENV XDG_CONFIG_HOME="/config/xdg" \
|
||||
COMPlus_EnableDiagnostics=0 \
|
||||
TMPDIR=/run/prowlarr-temp
|
||||
|
@ -38,12 +38,12 @@ RUN \
|
|||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/app/prowlarr/bin/Prowlarr.Update \
|
||||
/tmp/*
|
||||
/tmp/* \
|
||||
/var/tmp/*
|
||||
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 9696
|
||||
|
||||
VOLUME /config
|
||||
|
|
114
Jenkinsfile
vendored
114
Jenkinsfile
vendored
|
@ -76,7 +76,7 @@ pipeline {
|
|||
script{
|
||||
env.EXIT_STATUS = ''
|
||||
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' || : ''',
|
||||
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:latest 2>/dev/null | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||
returnStdout: true).trim()
|
||||
env.LS_RELEASE_NOTES = sh(
|
||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||
|
@ -105,7 +105,7 @@ pipeline {
|
|||
script{
|
||||
env.LS_TAG_NUMBER = sh(
|
||||
script: '''#! /bin/bash
|
||||
tagsha=$(git rev-list -n 1 develop-${LS_RELEASE} 2>/dev/null)
|
||||
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
|
||||
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
|
||||
echo ${LS_RELEASE_NUMBER}
|
||||
elif [ -z "${GIT_COMMIT}" ]; then
|
||||
|
@ -143,7 +143,7 @@ pipeline {
|
|||
steps{
|
||||
script{
|
||||
env.EXT_RELEASE = sh(
|
||||
script: ''' curl -sL "https://prowlarr.servarr.com/v1/update/develop/changes?runtime=netcore&os=linuxmusl" | jq -r '.[0].version' ''',
|
||||
script: ''' curl -sL "https://prowlarr.servarr.com/v1/update/master/changes?runtime=netcore&os=linuxmusl" | jq -r '.[0].version' ''',
|
||||
returnStdout: true).trim()
|
||||
env.RELEASE_LINK = 'custom_command'
|
||||
}
|
||||
|
@ -183,10 +183,10 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
// If this is a develop build use live docker endpoints
|
||||
// If this is a main build use live docker endpoints
|
||||
stage("Set ENV live build"){
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
|
@ -196,13 +196,13 @@ pipeline {
|
|||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
||||
if (env.MULTIARCH == 'true') {
|
||||
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
} else {
|
||||
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||
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'
|
||||
}
|
||||
}
|
||||
|
@ -210,7 +210,7 @@ pipeline {
|
|||
// If this is a dev build use dev docker endpoints
|
||||
stage("Set ENV dev build"){
|
||||
when {
|
||||
not {branch "develop"}
|
||||
not {branch "main"}
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
}
|
||||
steps {
|
||||
|
@ -220,13 +220,13 @@ pipeline {
|
|||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
||||
if (env.MULTIARCH == 'true') {
|
||||
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
} else {
|
||||
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||
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'
|
||||
}
|
||||
|
@ -244,13 +244,13 @@ pipeline {
|
|||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
||||
if (env.MULTIARCH == 'true') {
|
||||
env.CI_TAGS = 'amd64-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
} else {
|
||||
env.CI_TAGS = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
}
|
||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.META_TAG = 'develop-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.EXT_RELEASE_TAG = 'develop-version-' + env.EXT_RELEASE_CLEAN
|
||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
||||
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'
|
||||
|
@ -288,7 +288,7 @@ pipeline {
|
|||
// Use helper containers to render templated files
|
||||
stage('Update-Templates') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
expression {
|
||||
env.CONTAINER_NAME != null
|
||||
|
@ -300,24 +300,24 @@ pipeline {
|
|||
TEMPDIR=$(mktemp -d)
|
||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||
# Cloned repo paths for templating:
|
||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch develop of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch develop of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch main of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch main of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
||||
# ${TEMPDIR}/docs/docker-documentation: Cloned docs repo for pushing docs updates to Github
|
||||
# ${TEMPDIR}/unraid/docker-templates: Cloned docker-templates repo to check for logos
|
||||
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
|
||||
git clone --branch develop --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
git clone --branch main --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
docker run --rm -v ${TEMPDIR}/docker-${CONTAINER_NAME}:/tmp -e LOCAL=true -e PUID=$(id -u) -e PGID=$(id -g) ghcr.io/linuxserver/jenkins-builder:latest
|
||||
echo "Starting Stage 1 - Jenkinsfile update"
|
||||
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f develop
|
||||
git checkout -f main
|
||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||
git add Jenkinsfile
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
|
@ -336,13 +336,13 @@ pipeline {
|
|||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f develop
|
||||
git checkout -f main
|
||||
for i in ${TEMPLATES_TO_DELETE}; do
|
||||
git rm "${i}"
|
||||
done
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
|
@ -357,20 +357,20 @@ pipeline {
|
|||
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
|
||||
fi
|
||||
mkdir -p ${TEMPDIR}/d2
|
||||
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:develop
|
||||
docker run --rm -v ${TEMPDIR}/d2:/output -e PUID=$(id -u) -e PGID=$(id -g) -e RAW="true" ghcr.io/linuxserver/d2-builder:latest ${CONTAINER_NAME}:latest
|
||||
ls -al ${TEMPDIR}/d2
|
||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-develop.d2\\")" readme-vars.yml
|
||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-latest.d2\\")" readme-vars.yml
|
||||
if [[ $(md5sum readme-vars.yml | cut -c1-8) != $(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/readme-vars.yml | cut -c1-8) ]]; then
|
||||
echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit."
|
||||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f develop
|
||||
git checkout -f main
|
||||
cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
|
||||
git add readme-vars.yml
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
|
@ -387,7 +387,7 @@ pipeline {
|
|||
mkdir -p ${TEMPDIR}/repo
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||
git checkout -f develop
|
||||
git checkout -f main
|
||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||
|
@ -400,8 +400,8 @@ pipeline {
|
|||
fi
|
||||
git add readme-vars.yml ${TEMPLATED_FILES}
|
||||
git commit -m 'Bot Updating Templated Files'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||
rm -Rf ${TEMPDIR}
|
||||
|
@ -502,7 +502,7 @@ pipeline {
|
|||
// Exit the build if the Templated files were just updated
|
||||
stage('Template-exit') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'FILES_UPDATED', value: 'true'
|
||||
expression {
|
||||
|
@ -515,10 +515,10 @@ pipeline {
|
|||
}
|
||||
}
|
||||
}
|
||||
// If this is a develop build check the S6 service file perms
|
||||
// If this is a main build check the S6 service file perms
|
||||
stage("Check S6 Service file Permissions"){
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
|
@ -763,7 +763,7 @@ pipeline {
|
|||
// Take the image we just built and dump package versions for comparison
|
||||
stage('Update-packages') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
|
@ -786,14 +786,14 @@ pipeline {
|
|||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f develop
|
||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f main
|
||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||
cd ${TEMPDIR}/${LS_REPO}/
|
||||
wait
|
||||
git add package_versions.txt
|
||||
git commit -m 'Bot Updating Package Versions'
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git develop
|
||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git main
|
||||
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
echo "Package tag updated, stopping build process"
|
||||
else
|
||||
|
@ -811,7 +811,7 @@ pipeline {
|
|||
// Exit the build if the package file was just updated
|
||||
stage('PACKAGE-exit') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
|
@ -825,7 +825,7 @@ pipeline {
|
|||
// Exit the build if this is just a package check and there are no changes to push
|
||||
stage('PACKAGECHECK-exit') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
|
@ -879,7 +879,7 @@ pipeline {
|
|||
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
||||
-e TAGS=\"${CI_TAGS}\" \
|
||||
-e META_TAG=\"${META_TAG}\" \
|
||||
-e RELEASE_TAG=\"develop\" \
|
||||
-e RELEASE_TAG=\"latest\" \
|
||||
-e PORT=\"${CI_PORT}\" \
|
||||
-e SSL=\"${CI_SSL}\" \
|
||||
-e BASE=\"${DIST_IMAGE}\" \
|
||||
|
@ -916,7 +916,7 @@ 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}:latest -t ${PUSHIMAGE}:${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
if [ -n "${SEMVER}" ]; then
|
||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||
fi
|
||||
|
@ -943,15 +943,15 @@ 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-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}
|
||||
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}
|
||||
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}: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}
|
||||
|
@ -966,7 +966,7 @@ pipeline {
|
|||
// If this is a public release tag it in the LS Github
|
||||
stage('Github-Tag-Push-Release') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
expression {
|
||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||
}
|
||||
|
@ -978,17 +978,17 @@ pipeline {
|
|||
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",\
|
||||
"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
|
||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||
echo '{"tag_name":"'${META_TAG}'",\
|
||||
"target_commitish": "develop",\
|
||||
"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": true}' >> releasebody.json
|
||||
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'''
|
||||
}
|
||||
|
@ -996,14 +996,14 @@ pipeline {
|
|||
// Add protection to the release branch
|
||||
stage('Github-Release-Branch-Protection') {
|
||||
when {
|
||||
branch "develop"
|
||||
branch "main"
|
||||
environment name: 'CHANGE_ID', value: ''
|
||||
environment name: 'EXIT_STATUS', value: ''
|
||||
}
|
||||
steps {
|
||||
echo "Setting up protection for release branch develop"
|
||||
echo "Setting up protection for release branch main"
|
||||
sh '''#! /bin/bash
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/develop/protection \
|
||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/main/protection \
|
||||
-d $(jq -c . << EOF
|
||||
{
|
||||
"required_status_checks": null,
|
||||
|
|
26
README.md
Executable file → Normal file
26
README.md
Executable file → Normal file
|
@ -1,5 +1,5 @@
|
|||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||
<!-- Please read https://github.com/linuxserver/docker-prowlarr/blob/develop/.github/CONTRIBUTING.md -->
|
||||
<!-- Please read https://github.com/linuxserver/docker-prowlarr/blob/main/.github/CONTRIBUTING.md -->
|
||||
[](https://linuxserver.io)
|
||||
|
||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||
|
@ -36,8 +36,8 @@ Find us at:
|
|||
[](https://quay.io/repository/linuxserver.io/prowlarr)
|
||||
[](https://hub.docker.com/r/linuxserver/prowlarr)
|
||||
[](https://hub.docker.com/r/linuxserver/prowlarr)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-prowlarr/job/develop/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/prowlarr/develop/index.html)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-prowlarr/job/main/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/prowlarr/latest/index.html)
|
||||
|
||||
[Prowlarr](https://github.com/Prowlarr/Prowlarr) is a indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Sonarr, Radarr, Lidarr, and Readarr offering complete management of your indexers with no per app Indexer setup required (we do it all).
|
||||
|
||||
|
@ -47,7 +47,7 @@ Find us at:
|
|||
|
||||
We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://distribution.github.io/distribution/spec/manifest-v2-2/#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||
|
||||
Simply pulling `lscr.io/linuxserver/prowlarr:develop` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
Simply pulling `lscr.io/linuxserver/prowlarr:latest` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
|
||||
The architectures supported by this image are:
|
||||
|
||||
|
@ -94,7 +94,7 @@ To help you get started creating a container from this image you can either use
|
|||
---
|
||||
services:
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr:develop
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
environment:
|
||||
- PUID=1000
|
||||
|
@ -118,7 +118,7 @@ docker run -d \
|
|||
-p 9696:9696 \
|
||||
-v /path/to/prowlarr/data:/config \
|
||||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/prowlarr:develop
|
||||
lscr.io/linuxserver/prowlarr:latest
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
@ -199,7 +199,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
|
|||
* Image version number:
|
||||
|
||||
```bash
|
||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/prowlarr:develop
|
||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/prowlarr:latest
|
||||
```
|
||||
|
||||
## Updating Info
|
||||
|
@ -247,7 +247,7 @@ Below are the instructions for updating containers:
|
|||
* Update the image:
|
||||
|
||||
```bash
|
||||
docker pull lscr.io/linuxserver/prowlarr:develop
|
||||
docker pull lscr.io/linuxserver/prowlarr:latest
|
||||
```
|
||||
|
||||
* Stop the running container:
|
||||
|
@ -284,7 +284,7 @@ cd docker-prowlarr
|
|||
docker build \
|
||||
--no-cache \
|
||||
--pull \
|
||||
-t lscr.io/linuxserver/prowlarr:develop .
|
||||
-t lscr.io/linuxserver/prowlarr:latest .
|
||||
```
|
||||
|
||||
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
||||
|
@ -297,10 +297,10 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||
|
||||
## Versions
|
||||
|
||||
* **20.12.24:** - Rebase to Alpine 3.21.
|
||||
* **25.05.24:** - Rebase to Alpine 3.20.
|
||||
* **23.12.24:** - Rebase Alpine 3.21.
|
||||
* **31.05.24:** - Rebase Alpine 3.20.
|
||||
* **20.03.24:** - Rebase to Alpine 3.19.
|
||||
* **06.06.23:** - Rebase develop to Alpine 3.18.
|
||||
* **19.12.22:** - Rebase develop branch to Alpine 3.17.
|
||||
* **06.06.23:** - Rebase master to Alpine 3.18, deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf).
|
||||
* **03.01.23:** - Publish stable release.
|
||||
* **20.02.22:** - Rebase develop branch to Alpine.
|
||||
* **06.06.21:** - Initial realease.
|
||||
|
|
|
@ -2,10 +2,10 @@
|
|||
# jenkins variables
|
||||
project_name: docker-prowlarr
|
||||
external_type: na
|
||||
custom_version_command: curl -sL "https://prowlarr.servarr.com/v1/update/develop/changes?runtime=netcore&os=linuxmusl" | jq -r '.[0].version'
|
||||
release_type: prerelease
|
||||
release_tag: develop
|
||||
ls_branch: develop
|
||||
custom_version_command: curl -sL "https://prowlarr.servarr.com/v1/update/master/changes?runtime=netcore&os=linuxmusl" | jq -r '.[0].version'
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: main
|
||||
repo_vars:
|
||||
- BUILD_VERSION_ARG = 'PROWLARR_RELEASE'
|
||||
- LS_USER = 'linuxserver'
|
||||
|
|
|
@ -6,6 +6,7 @@ project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/ma
|
|||
project_blurb: |
|
||||
[{{ project_name|capitalize }}]({{ project_url }}) is a indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with your various PVR apps. Prowlarr supports both Torrent Trackers and Usenet Indexers. It integrates seamlessly with Sonarr, Radarr, Lidarr, and Readarr offering complete management of your indexers with no per app Indexer setup required (we do it all).
|
||||
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||
project_categories: "Indexers"
|
||||
# supported architectures
|
||||
available_architectures:
|
||||
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||
|
@ -34,7 +35,7 @@ app_setup_block: |
|
|||
Setup info can be found [here](https://wikijs.servarr.com/prowlarr/quick-start-guide).
|
||||
# init diagram
|
||||
init_diagram: |
|
||||
"prowlarr:develop": {
|
||||
"prowlarr:latest": {
|
||||
docker-mods
|
||||
base {
|
||||
fix-attr +\nlegacy cont-init
|
||||
|
@ -70,13 +71,13 @@ init_diagram: |
|
|||
Base Images: {
|
||||
"baseimage-alpine:3.21"
|
||||
}
|
||||
"prowlarr:develop" <- Base Images
|
||||
"prowlarr:latest" <- Base Images
|
||||
# changelog
|
||||
changelogs:
|
||||
- {date: "20.12.24:", desc: "Rebase to Alpine 3.21."}
|
||||
- {date: "25.05.24:", desc: "Rebase to Alpine 3.20."}
|
||||
- {date: "23.12.24:", desc: "Rebase Alpine 3.21."}
|
||||
- {date: "31.05.24:", desc: "Rebase Alpine 3.20."}
|
||||
- {date: "20.03.24:", desc: "Rebase to Alpine 3.19."}
|
||||
- {date: "06.06.23:", desc: "Rebase develop to Alpine 3.18."}
|
||||
- {date: "19.12.22:", desc: "Rebase develop branch to Alpine 3.17."}
|
||||
- {date: "06.06.23:", desc: "Rebase master to Alpine 3.18, deprecate armhf as per [https://www.linuxserver.io/armhf](https://www.linuxserver.io/armhf)."}
|
||||
- {date: "03.01.23:", desc: "Publish stable release."}
|
||||
- {date: "20.02.22:", desc: "Rebase develop branch to Alpine."}
|
||||
- {date: "06.06.21:", desc: "Initial realease."}
|
||||
|
|
|
@ -1 +1 @@
|
|||
oneshot
|
||||
oneshot
|
|
@ -1 +1 @@
|
|||
longrun
|
||||
longrun
|
Loading…
Add table
Add a link
Reference in a new issue