Compare commits
258 Commits
14.3.0.992
...
4.4.020201
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
276a9f40de | ||
|
|
99a467941c | ||
|
|
5d92065c83 | ||
|
|
6f588431b6 | ||
|
|
dfb1560271 | ||
|
|
ac9a374cb6 | ||
|
|
9f9f40706b | ||
|
|
b073ad0a5b | ||
|
|
6ea1e7b5c7 | ||
|
|
1a5a8e1c78 | ||
|
|
178f8a894d | ||
|
|
9489ffc30d | ||
|
|
9ccb2c1521 | ||
|
|
d0d9063104 | ||
|
|
97e593ca44 | ||
|
|
3240f8ebea | ||
|
|
af798daf7d | ||
|
|
6bb2c207db | ||
|
|
99917ba94a | ||
|
|
6d47830633 | ||
|
|
e25646ce8a | ||
|
|
bc23da7dc4 | ||
|
|
9a846a030d | ||
|
|
2af71920c6 | ||
|
|
255053c1a7 | ||
|
|
51a483f4b1 | ||
|
|
f6e2f0ec86 | ||
|
|
f4c2c0ac9c | ||
|
|
fc85c7f4fe | ||
|
|
331383c6a9 | ||
|
|
f99cb8f69e | ||
|
|
0d736278ee | ||
|
|
ede6bcdae3 | ||
|
|
4455ba6aa3 | ||
|
|
2255455fee | ||
|
|
e477c8017e | ||
|
|
a954b7fd90 | ||
|
|
f2272e38d3 | ||
|
|
af19f984c9 | ||
|
|
5f6364d5fc | ||
|
|
fc3696efa2 | ||
|
|
0b14ae633a | ||
|
|
b269da2ca6 | ||
|
|
ea6f366bda | ||
|
|
2c75727692 | ||
|
|
3a28af5453 | ||
|
|
78847f5deb | ||
|
|
4fc9aef3b1 | ||
|
|
6ac16fde90 | ||
|
|
9301d5d864 | ||
|
|
a66d315b6d | ||
|
|
1353390f7a | ||
|
|
862ff2451d | ||
|
|
8eec5266cb | ||
|
|
72f8691063 | ||
|
|
191e48d0cf | ||
|
|
d15d6d9c28 | ||
|
|
6cf37597d4 | ||
|
|
3dea61fe30 | ||
|
|
c731edebb5 | ||
|
|
877d47f9bb | ||
|
|
d202334cbd | ||
|
|
8f60b6c0e8 | ||
|
|
3ecd223ad9 | ||
|
|
a37a7ba4bf | ||
|
|
6505fd82e2 | ||
|
|
d8504b244e | ||
|
|
8c4abf4ee0 | ||
|
|
1311341487 | ||
|
|
cc8326aa67 | ||
|
|
d52e090b22 | ||
|
|
adc7d853b6 | ||
|
|
10eb0a6006 | ||
|
|
eaccc38883 | ||
|
|
1c5c031b63 | ||
|
|
58d25d7daa | ||
|
|
3e2a78cc2a | ||
|
|
a099b8c38d | ||
|
|
8ed86486ab | ||
|
|
a2770d6e0f | ||
|
|
a714082a67 | ||
|
|
f556d61d78 | ||
|
|
9d565929e9 | ||
|
|
291727b2b7 | ||
|
|
12b786b7aa | ||
|
|
412ee547ed | ||
|
|
cc4d63af1e | ||
|
|
be0eccdb16 | ||
|
|
c4297f6b57 | ||
|
|
2a8cec14c0 | ||
|
|
3f99043cf2 | ||
|
|
4512af81a5 | ||
|
|
fdeeb46849 | ||
|
|
98856b21c7 | ||
|
|
52bf0b4ea6 | ||
|
|
0f3af28a14 | ||
|
|
6fb889f9cf | ||
|
|
111b28608b | ||
|
|
6523c7770d | ||
|
|
377a2fc4a9 | ||
|
|
9f83cb8582 | ||
|
|
6f87fedd60 | ||
|
|
311193e538 | ||
|
|
af1c078e19 | ||
|
|
4aed00b9a4 | ||
|
|
73b8c978f2 | ||
|
|
f20923d248 | ||
|
|
d66940680e | ||
|
|
9a4de8614c | ||
|
|
61ac215349 | ||
|
|
141112a1c3 | ||
|
|
0d22190039 | ||
|
|
7f13a37339 | ||
|
|
18a8af295e | ||
|
|
795265e42d | ||
|
|
ba6948be9f | ||
|
|
c1460d89d9 | ||
|
|
c4320af0d5 | ||
|
|
ab8cea8e8d | ||
|
|
135bcc9f8b | ||
|
|
89097744cd | ||
|
|
3491d634b7 | ||
|
|
7e9a3b9e83 | ||
|
|
77ac84c508 | ||
|
|
763bd1ed55 | ||
|
|
d2c044a614 | ||
|
|
fa6a046cf3 | ||
|
|
39476f4476 | ||
|
|
92a1afec52 | ||
|
|
fb7edd7cd8 | ||
|
|
cb5d2a4722 | ||
|
|
7e7b414276 | ||
|
|
c227b217b2 | ||
|
|
7d2018ab1b | ||
|
|
45f7d2f776 | ||
|
|
b97c9b8621 | ||
|
|
ca0667734d | ||
|
|
1cc1832bde | ||
|
|
2b92095233 | ||
|
|
4a4f41809c | ||
|
|
9219e8fce5 | ||
|
|
304045fa76 | ||
|
|
df557ace64 | ||
|
|
379a1c9dd6 | ||
|
|
3d2af511b9 | ||
|
|
29213a7f55 | ||
|
|
67b56af21e | ||
|
|
3de432ecd9 | ||
|
|
3a2a0f6a64 | ||
|
|
cfe29d7bea | ||
|
|
9ec6cb8041 | ||
|
|
4076cf5ec5 | ||
|
|
d50c109e59 | ||
|
|
8afc2aab34 | ||
|
|
939def454a | ||
|
|
c86f294259 | ||
|
|
3615b6d989 | ||
|
|
93fab38db4 | ||
|
|
083f5184e8 | ||
|
|
6fce866995 | ||
|
|
67a21bc3ae | ||
|
|
1700fd0597 | ||
|
|
dcf3c900c6 | ||
|
|
7ea39a799d | ||
|
|
c07ea919fe | ||
|
|
8050b258c9 | ||
|
|
623687cd2b | ||
|
|
fd5e88ff3a | ||
|
|
c485ce2fbd | ||
|
|
71118d855d | ||
|
|
51a3cf9dee | ||
|
|
207f13fc7a | ||
|
|
5de828fded | ||
|
|
137e2b5d6a | ||
|
|
f0853cfabb | ||
|
|
a5a7eb8d02 | ||
|
|
dc0f91c473 | ||
|
|
d28675bbf6 | ||
|
|
111caa6a1f | ||
|
|
69f2f66043 | ||
|
|
fd812496bc | ||
|
|
c5612f816e | ||
|
|
8607efc1fe | ||
|
|
88af8b5693 | ||
|
|
f514a71654 | ||
|
|
4ea94c9d1f | ||
|
|
c604390868 | ||
|
|
838278894d | ||
|
|
68bb38cc68 | ||
|
|
04f35bbc4d | ||
|
|
b3b097ebdc | ||
|
|
557b443175 | ||
|
|
49376cb514 | ||
|
|
15d7379386 | ||
|
|
2656893674 | ||
|
|
a5af0b35b7 | ||
|
|
b50b3d2897 | ||
|
|
a8c929c4fe | ||
|
|
e53c5dd330 | ||
|
|
49b3a91ab0 | ||
|
|
cf2e5b4ab0 | ||
|
|
f12ca4a394 | ||
|
|
57646b7af5 | ||
|
|
f6e5aa9f1e | ||
|
|
5c01f3dd4f | ||
|
|
1ab20ab07e | ||
|
|
71c9d26288 | ||
|
|
b027f732cd | ||
|
|
136bfc0cc5 | ||
|
|
f0658171c5 | ||
|
|
d9ff314a4c | ||
|
|
48695f300e | ||
|
|
156684155f | ||
|
|
8cb1690973 | ||
|
|
e90c67b867 | ||
|
|
5291380ad2 | ||
|
|
55acda7d6c | ||
|
|
ac6e13960e | ||
|
|
fa775fbd67 | ||
|
|
4068b58145 | ||
|
|
6bd6406f99 | ||
|
|
6be6f5e72b | ||
|
|
345081f5d9 | ||
|
|
89a246f79f | ||
|
|
f6f793f551 | ||
|
|
60e14150ca | ||
|
|
db0de95ceb | ||
|
|
b8711fd5bb | ||
|
|
22df5852db | ||
|
|
cd897f4a50 | ||
|
|
c1a23eda66 | ||
|
|
0d2c39dd04 | ||
|
|
9d3259cbdf | ||
|
|
034e9f1d68 | ||
|
|
924b3a2402 | ||
|
|
c53014eac3 | ||
|
|
0613934e6b | ||
|
|
40d19347c3 | ||
|
|
47d58f9e4d | ||
|
|
ece00294b1 | ||
|
|
5c8677d600 | ||
|
|
788d8fb753 | ||
|
|
c7e7c1c222 | ||
|
|
634fcd0f7d | ||
|
|
8f0acdeb52 | ||
|
|
e7f77f2ffc | ||
|
|
44fe098e99 | ||
|
|
9a220e3eee | ||
|
|
ad31b8c925 | ||
|
|
cb7a875129 | ||
|
|
cc700c5af2 | ||
|
|
fa140d452d | ||
|
|
02fe01a63a | ||
|
|
d9b8488135 | ||
|
|
20b308df2c | ||
|
|
419f0ae428 | ||
|
|
8766fd9a5c | ||
|
|
60da66b714 |
27
.github/workflows/external_trigger.yml
vendored
27
.github/workflows/external_trigger.yml
vendored
@@ -4,26 +4,27 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
external-trigger-master:
|
external-trigger-unstable:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2.3.3
|
- uses: actions/checkout@v2.3.3
|
||||||
|
|
||||||
- name: External Trigger
|
- name: External Trigger
|
||||||
if: github.ref == 'refs/heads/master'
|
if: github.ref == 'refs/heads/unstable'
|
||||||
run: |
|
run: |
|
||||||
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER }}" ]; then
|
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE }}" ]; then
|
||||||
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER is set; skipping trigger. ****"
|
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE is set; skipping trigger. ****"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_MASTER\". ****"
|
echo "**** External trigger running off of unstable branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
|
||||||
echo "**** Retrieving external version ****"
|
echo "**** Retrieving external version ****"
|
||||||
EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}')
|
EXT_RELEASE=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}')
|
||||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||||
echo "**** Can't retrieve external version, exiting ****"
|
echo "**** Can't retrieve external version, exiting ****"
|
||||||
FAILURE_REASON="Can't retrieve external version for qbittorrent branch master"
|
FAILURE_REASON="Can't retrieve external version for qbittorrent branch unstable"
|
||||||
|
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-qbittorrent/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,
|
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"}],
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
@@ -31,7 +32,7 @@ jobs:
|
|||||||
echo "**** External version: ${EXT_RELEASE} ****"
|
echo "**** External version: ${EXT_RELEASE} ****"
|
||||||
echo "**** Retrieving last pushed version ****"
|
echo "**** Retrieving last pushed version ****"
|
||||||
image="linuxserver/qbittorrent"
|
image="linuxserver/qbittorrent"
|
||||||
tag="latest"
|
tag="unstable"
|
||||||
token=$(curl -sX GET \
|
token=$(curl -sX GET \
|
||||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fqbittorrent%3Apull" \
|
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fqbittorrent%3Apull" \
|
||||||
| jq -r '.token')
|
| jq -r '.token')
|
||||||
@@ -53,7 +54,7 @@ jobs:
|
|||||||
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
|
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
|
||||||
if [ -z "${IMAGE_VERSION}" ]; then
|
if [ -z "${IMAGE_VERSION}" ]; then
|
||||||
echo "**** Can't retrieve last pushed version, exiting ****"
|
echo "**** Can't retrieve last pushed version, exiting ****"
|
||||||
FAILURE_REASON="Can't retrieve last pushed version for qbittorrent tag latest"
|
FAILURE_REASON="Can't retrieve last pushed version for qbittorrent tag unstable"
|
||||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
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"}],
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
@@ -63,13 +64,13 @@ jobs:
|
|||||||
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
||||||
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
|
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
|
||||||
exit 0
|
exit 0
|
||||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/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 ****"
|
echo "**** New version ${EXT_RELEASE} found; but there already seems to be an active build on Jenkins; exiting ****"
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
|
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
|
||||||
response=$(curl -iX POST \
|
response=$(curl -iX POST \
|
||||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/buildWithParameters?PACKAGE_CHECK=false \
|
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/buildWithParameters?PACKAGE_CHECK=false \
|
||||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||||
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
||||||
echo "**** Sleeping 10 seconds until job starts ****"
|
echo "**** Sleeping 10 seconds until job starts ****"
|
||||||
@@ -84,7 +85,7 @@ jobs:
|
|||||||
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
||||||
--data-urlencode "Submit=Submit"
|
--data-urlencode "Submit=Submit"
|
||||||
echo "**** Notifying Discord ****"
|
echo "**** Notifying Discord ****"
|
||||||
TRIGGER_REASON="A version change was detected for qbittorrent tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
|
TRIGGER_REASON="A version change was detected for qbittorrent tag unstable. 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,
|
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"}],
|
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
|||||||
2
.github/workflows/greetings.yml
vendored
2
.github/workflows/greetings.yml
vendored
@@ -8,6 +8,6 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- uses: actions/first-interaction@v1
|
- uses: actions/first-interaction@v1
|
||||||
with:
|
with:
|
||||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE.md)!'
|
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-qbittorrent/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
|
||||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-qbittorrent/blob/master/.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-qbittorrent/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
14
.github/workflows/package_trigger.yml
vendored
14
.github/workflows/package_trigger.yml
vendored
@@ -4,25 +4,25 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
package-trigger-master:
|
package-trigger-unstable:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2.3.3
|
- uses: actions/checkout@v2.3.3
|
||||||
|
|
||||||
- name: Package Trigger
|
- name: Package Trigger
|
||||||
if: github.ref == 'refs/heads/master'
|
if: github.ref == 'refs/heads/unstable'
|
||||||
run: |
|
run: |
|
||||||
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_QBITTORRENT_MASTER }}" ]; then
|
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE }}" ]; then
|
||||||
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_QBITTORRENT_MASTER is set; skipping trigger. ****"
|
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE is set; skipping trigger. ****"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||||
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
|
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_QBITTORRENT_MASTER\". ****"
|
echo "**** Package trigger running off of unstable branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_QBITTORRENT_UNSTABLE\". ****"
|
||||||
response=$(curl -iX POST \
|
response=$(curl -iX POST \
|
||||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/buildWithParameters?PACKAGE_CHECK=true \
|
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/buildWithParameters?PACKAGE_CHECK=true \
|
||||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||||
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
||||||
echo "**** Sleeping 10 seconds until job starts ****"
|
echo "**** Sleeping 10 seconds until job starts ****"
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ name: Package Trigger Scheduler
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '12 11 * * 1'
|
- cron: '43 3 * * 1'
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ ARG BUILD_DATE
|
|||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG QBITTORRENT_VERSION
|
ARG QBITTORRENT_VERSION
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="sparklyballs, thelamer"
|
LABEL maintainer="thelamer"
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
ARG DEBIAN_FRONTEND="noninteractive"
|
ARG DEBIAN_FRONTEND="noninteractive"
|
||||||
@@ -22,12 +22,12 @@ RUN \
|
|||||||
python3 && \
|
python3 && \
|
||||||
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
||||||
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||||
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
||||||
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
||||||
fi && \
|
fi && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ ARG BUILD_DATE
|
|||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG QBITTORRENT_VERSION
|
ARG QBITTORRENT_VERSION
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="sparklyballs, thelamer"
|
LABEL maintainer="thelamer"
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
ARG DEBIAN_FRONTEND="noninteractive"
|
ARG DEBIAN_FRONTEND="noninteractive"
|
||||||
@@ -22,12 +22,12 @@ RUN \
|
|||||||
python3 && \
|
python3 && \
|
||||||
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
||||||
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||||
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
||||||
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
||||||
fi && \
|
fi && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ ARG BUILD_DATE
|
|||||||
ARG VERSION
|
ARG VERSION
|
||||||
ARG QBITTORRENT_VERSION
|
ARG QBITTORRENT_VERSION
|
||||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||||
LABEL maintainer="sparklyballs, thelamer"
|
LABEL maintainer="thelamer"
|
||||||
|
|
||||||
# environment settings
|
# environment settings
|
||||||
ARG DEBIAN_FRONTEND="noninteractive"
|
ARG DEBIAN_FRONTEND="noninteractive"
|
||||||
@@ -22,12 +22,12 @@ RUN \
|
|||||||
python3 && \
|
python3 && \
|
||||||
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
curl -s https://bintray.com/user/downloadSubjectPublicKey?username=fedarovich | apt-key add - && \
|
||||||
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
apt-key adv --keyserver hkp://keyserver.ubuntu.com:11371 --recv-keys 7CA69FC4 && \
|
||||||
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb-src http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
echo "deb https://dl.bintray.com/fedarovich/qbittorrent-cli-debian bionic main" >> /etc/apt/sources.list.d/qbitorrent.list && \
|
||||||
echo "**** install packages ****" && \
|
echo "**** install packages ****" && \
|
||||||
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
if [ -z ${QBITTORRENT_VERSION+x} ]; then \
|
||||||
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
QBITTORRENT_VERSION=$(curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c \
|
||||||
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
|grep -A 7 -m 1 "Package: qbittorrent-nox" | awk -F ": " '/Version/{print $2;exit}');\
|
||||||
fi && \
|
fi && \
|
||||||
apt-get update && \
|
apt-get update && \
|
||||||
|
|||||||
111
Jenkinsfile
vendored
111
Jenkinsfile
vendored
@@ -41,7 +41,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
script: '''docker run --rm ghcr.io/linuxserver/alexeiled-skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':unstable 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
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' ''',
|
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' ''',
|
||||||
@@ -103,7 +103,7 @@ pipeline {
|
|||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''',
|
script: ''' curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.RELEASE_LINK = 'custom_command'
|
env.RELEASE_LINK = 'custom_command'
|
||||||
}
|
}
|
||||||
@@ -119,10 +119,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a master build use live docker endpoints
|
// If this is a unstable build use live docker endpoints
|
||||||
stage("Set ENV live build"){
|
stage("Set ENV live build"){
|
||||||
when {
|
when {
|
||||||
branch "master"
|
branch "unstable"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -131,20 +131,20 @@ pipeline {
|
|||||||
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = 'amd64-unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm32v7-unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.CI_TAGS = 'unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.META_TAG = 'unstable-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a dev build use dev docker endpoints
|
// If this is a dev build use dev docker endpoints
|
||||||
stage("Set ENV dev build"){
|
stage("Set ENV dev build"){
|
||||||
when {
|
when {
|
||||||
not {branch "master"}
|
not {branch "unstable"}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -153,13 +153,13 @@ pipeline {
|
|||||||
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lsiodev-' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lsiodev-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = 'amd64-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm32v7-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.CI_TAGS = 'unstable-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
env.META_TAG = 'unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -175,13 +175,13 @@ pipeline {
|
|||||||
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
|
env.GITHUBIMAGE = 'ghcr.io/' + env.LS_USER + '/lspipepr-' + env.CONTAINER_NAME
|
||||||
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
env.GITLABIMAGE = 'registry.gitlab.com/linuxserver.io/' + env.LS_REPO + '/lspipepr-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = 'amd64-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm32v7-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST + '|arm64v8-unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
} else {
|
} else {
|
||||||
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.CI_TAGS = 'unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
}
|
}
|
||||||
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
env.META_TAG = 'unstable-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
|
||||||
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'unstable-version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
|
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.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
|
||||||
}
|
}
|
||||||
@@ -219,7 +219,7 @@ pipeline {
|
|||||||
// Use helper containers to render templated files
|
// Use helper containers to render templated files
|
||||||
stage('Update-Templates') {
|
stage('Update-Templates') {
|
||||||
when {
|
when {
|
||||||
branch "master"
|
branch "unstable"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
expression {
|
expression {
|
||||||
env.CONTAINER_NAME != null
|
env.CONTAINER_NAME != null
|
||||||
@@ -230,7 +230,7 @@ pipeline {
|
|||||||
set -e
|
set -e
|
||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=unstable -v ${TEMPDIR}:/ansible/jenkins ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8)
|
||||||
@@ -238,7 +238,7 @@ pipeline {
|
|||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}
|
cd ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git checkout -f master
|
git checkout -f unstable
|
||||||
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
cd ${TEMPDIR}/docker-${CONTAINER_NAME}
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/workflows
|
||||||
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github/ISSUE_TEMPLATE
|
||||||
@@ -255,13 +255,30 @@ pipeline {
|
|||||||
fi
|
fi
|
||||||
mkdir -p ${TEMPDIR}/gitbook
|
mkdir -p ${TEMPDIR}/gitbook
|
||||||
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
|
||||||
if [[ "${BRANCH_NAME}" == "master" ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md) || ("$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
|
||||||
cd ${TEMPDIR}/gitbook/docker-documentation/
|
cd ${TEMPDIR}/gitbook/docker-documentation/
|
||||||
git add images/docker-${CONTAINER_NAME}.md
|
git add images/docker-${CONTAINER_NAME}.md
|
||||||
git commit -m 'Bot Updating Documentation'
|
git commit -m 'Bot Updating Documentation'
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
|
||||||
fi
|
fi
|
||||||
|
mkdir -p ${TEMPDIR}/unraid
|
||||||
|
git clone https://github.com/linuxserver/docker-templates.git ${TEMPDIR}/unraid/docker-templates
|
||||||
|
git clone https://github.com/linuxserver/templates.git ${TEMPDIR}/unraid/templates
|
||||||
|
if [[ -f ${TEMPDIR}/unraid/docker-templates/linuxserver.io/img/${CONTAINER_NAME}-icon.png ]]; then
|
||||||
|
sed -i "s|master/linuxserver.io/img/linuxserver-ls-logo.png|master/linuxserver.io/img/${CONTAINER_NAME}-icon.png|" ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml
|
||||||
|
fi
|
||||||
|
if [[ ("${BRANCH_NAME}" == "master") || ("${BRANCH_NAME}" == "main") ]] && [[ (! -f ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml) || ("$(md5sum ${TEMPDIR}/unraid/templates/unraid/${CONTAINER_NAME}.xml | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml | awk '{ print $1 }')") ]]; then
|
||||||
|
if grep -wq "${CONTAINER_NAME}" ${TEMPDIR}/unraid/templates/unraid/ignore.list; then
|
||||||
|
echo "Image is on the ignore list, skipping Unraid template upload"
|
||||||
|
else
|
||||||
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/${CONTAINER_NAME}.xml ${TEMPDIR}/unraid/templates/unraid/
|
||||||
|
cd ${TEMPDIR}/unraid/templates/
|
||||||
|
git add unraid/${CONTAINER_NAME}.xml
|
||||||
|
git commit -m 'Bot Updating Unraid Template'
|
||||||
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/templates.git --all
|
||||||
|
fi
|
||||||
|
fi
|
||||||
rm -Rf ${TEMPDIR}'''
|
rm -Rf ${TEMPDIR}'''
|
||||||
script{
|
script{
|
||||||
env.FILES_UPDATED = sh(
|
env.FILES_UPDATED = sh(
|
||||||
@@ -273,7 +290,7 @@ pipeline {
|
|||||||
// Exit the build if the Templated files were just updated
|
// Exit the build if the Templated files were just updated
|
||||||
stage('Template-exit') {
|
stage('Template-exit') {
|
||||||
when {
|
when {
|
||||||
branch "master"
|
branch "unstable"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'FILES_UPDATED', value: 'true'
|
environment name: 'FILES_UPDATED', value: 'true'
|
||||||
expression {
|
expression {
|
||||||
@@ -382,7 +399,7 @@ pipeline {
|
|||||||
// Take the image we just built and dump package versions for comparison
|
// Take the image we just built and dump package versions for comparison
|
||||||
stage('Update-packages') {
|
stage('Update-packages') {
|
||||||
when {
|
when {
|
||||||
branch "master"
|
branch "unstable"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
@@ -410,7 +427,7 @@ pipeline {
|
|||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
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
|
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f unstable
|
||||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||||
cd ${TEMPDIR}/${LS_REPO}/
|
cd ${TEMPDIR}/${LS_REPO}/
|
||||||
wait
|
wait
|
||||||
@@ -434,7 +451,7 @@ pipeline {
|
|||||||
// Exit the build if the package file was just updated
|
// Exit the build if the package file was just updated
|
||||||
stage('PACKAGE-exit') {
|
stage('PACKAGE-exit') {
|
||||||
when {
|
when {
|
||||||
branch "master"
|
branch "unstable"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -455,7 +472,7 @@ pipeline {
|
|||||||
// Exit the build if this is just a package check and there are no changes to push
|
// Exit the build if this is just a package check and there are no changes to push
|
||||||
stage('PACKAGECHECK-exit') {
|
stage('PACKAGECHECK-exit') {
|
||||||
when {
|
when {
|
||||||
branch "master"
|
branch "unstable"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -551,9 +568,9 @@ pipeline {
|
|||||||
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
echo $GITLAB_TOKEN | docker login registry.gitlab.com -u LinuxServer.io --password-stdin
|
||||||
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||||
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:unstable
|
||||||
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
docker push ${PUSHIMAGE}:latest
|
docker push ${PUSHIMAGE}:unstable
|
||||||
docker push ${PUSHIMAGE}:${META_TAG}
|
docker push ${PUSHIMAGE}:${META_TAG}
|
||||||
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
|
||||||
done
|
done
|
||||||
@@ -564,7 +581,7 @@ pipeline {
|
|||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:${META_TAG} \
|
${DELETEIMAGE}:${META_TAG} \
|
||||||
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:latest || :
|
${DELETEIMAGE}:unstable || :
|
||||||
done
|
done
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
@@ -601,25 +618,25 @@ pipeline {
|
|||||||
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
docker tag ${IMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
docker tag ${IMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker tag ${IMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-unstable
|
||||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-unstable
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-unstable
|
||||||
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:amd64-latest
|
docker push ${MANIFESTIMAGE}:amd64-unstable
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-latest
|
docker push ${MANIFESTIMAGE}:arm32v7-unstable
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-latest
|
docker push ${MANIFESTIMAGE}:arm64v8-unstable
|
||||||
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
|
||||||
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
|
docker manifest push --purge ${MANIFESTIMAGE}:unstable || :
|
||||||
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
|
docker manifest create ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:amd64-unstable ${MANIFESTIMAGE}:arm32v7-unstable ${MANIFESTIMAGE}:arm64v8-unstable
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm32v7-unstable --os linux --arch arm
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8
|
docker manifest annotate ${MANIFESTIMAGE}:unstable ${MANIFESTIMAGE}:arm64v8-unstable --os linux --arch arm64 --variant v8
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG} || :
|
||||||
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
|
||||||
@@ -628,7 +645,7 @@ pipeline {
|
|||||||
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
|
||||||
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:latest
|
docker manifest push --purge ${MANIFESTIMAGE}:unstable
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
|
||||||
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
|
||||||
done
|
done
|
||||||
@@ -638,13 +655,13 @@ pipeline {
|
|||||||
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
for DELETEIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
|
||||||
docker rmi \
|
docker rmi \
|
||||||
${DELETEIMAGE}:amd64-${META_TAG} \
|
${DELETEIMAGE}:amd64-${META_TAG} \
|
||||||
${DELETEIMAGE}:amd64-latest \
|
${DELETEIMAGE}:amd64-unstable \
|
||||||
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:amd64-${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
${DELETEIMAGE}:arm32v7-${META_TAG} \
|
||||||
${DELETEIMAGE}:arm32v7-latest \
|
${DELETEIMAGE}:arm32v7-unstable \
|
||||||
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
|
${DELETEIMAGE}:arm32v7-${EXT_RELEASE_TAG} \
|
||||||
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
${DELETEIMAGE}:arm64v8-${META_TAG} \
|
||||||
${DELETEIMAGE}:arm64v8-latest \
|
${DELETEIMAGE}:arm64v8-unstable \
|
||||||
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
|
${DELETEIMAGE}:arm64v8-${EXT_RELEASE_TAG} || :
|
||||||
done
|
done
|
||||||
docker rmi \
|
docker rmi \
|
||||||
@@ -657,7 +674,7 @@ pipeline {
|
|||||||
// If this is a public release tag it in the LS Github
|
// If this is a public release tag it in the LS Github
|
||||||
stage('Github-Tag-Push-Release') {
|
stage('Github-Tag-Push-Release') {
|
||||||
when {
|
when {
|
||||||
branch "master"
|
branch "unstable"
|
||||||
expression {
|
expression {
|
||||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
@@ -669,17 +686,17 @@ pipeline {
|
|||||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||||
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to unstable",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
echo "Updating to ${EXT_RELEASE_CLEAN}" > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"target_commitish": "master",\
|
"target_commitish": "unstable",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**Remote Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
printf '","draft": false,"prerelease": true}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
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'''
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||||
}
|
}
|
||||||
|
|||||||
10
README.md
10
README.md
@@ -35,7 +35,7 @@ Find us at:
|
|||||||
[](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
|
[](https://microbadger.com/images/linuxserver/qbittorrent "Get your own version badge on microbadger.com")
|
||||||
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
||||||
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
[](https://hub.docker.com/r/linuxserver/qbittorrent)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/master/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-qbittorrent/job/unstable/)
|
||||||
[](https://ci-tests.linuxserver.io/linuxserver/qbittorrent/latest/index.html)
|
[](https://ci-tests.linuxserver.io/linuxserver/qbittorrent/latest/index.html)
|
||||||
|
|
||||||
The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library.
|
The [Qbittorrent](https://www.qbittorrent.org/) project aims to provide an open-source software alternative to µTorrent. qBittorrent is based on the Qt toolkit and libtorrent-rasterbar library.
|
||||||
@@ -84,7 +84,6 @@ services:
|
|||||||
- PUID=1000
|
- PUID=1000
|
||||||
- PGID=1000
|
- PGID=1000
|
||||||
- TZ=Europe/London
|
- TZ=Europe/London
|
||||||
- UMASK_SET=022
|
|
||||||
- WEBUI_PORT=8080
|
- WEBUI_PORT=8080
|
||||||
volumes:
|
volumes:
|
||||||
- </path/to/appdata/config>:/config
|
- </path/to/appdata/config>:/config
|
||||||
@@ -104,7 +103,6 @@ docker run -d \
|
|||||||
-e PUID=1000 \
|
-e PUID=1000 \
|
||||||
-e PGID=1000 \
|
-e PGID=1000 \
|
||||||
-e TZ=Europe/London \
|
-e TZ=Europe/London \
|
||||||
-e UMASK_SET=022 \
|
|
||||||
-e WEBUI_PORT=8080 \
|
-e WEBUI_PORT=8080 \
|
||||||
-p 6881:6881 \
|
-p 6881:6881 \
|
||||||
-p 6881:6881/udp \
|
-p 6881:6881/udp \
|
||||||
@@ -128,7 +126,6 @@ Container images are configured using parameters passed at runtime (such as thos
|
|||||||
| `-e PUID=1000` | for UserID - see below for explanation |
|
| `-e PUID=1000` | for UserID - see below for explanation |
|
||||||
| `-e PGID=1000` | for GroupID - see below for explanation |
|
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||||
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
|
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London |
|
||||||
| `-e UMASK_SET=022` | for umask setting of qbittorrent, optional , default if left unset is 022 |
|
|
||||||
| `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation |
|
| `-e WEBUI_PORT=8080` | for changing the port of the webui, see below for explanation |
|
||||||
| `-v /config` | Contains all relevant configuration files. |
|
| `-v /config` | Contains all relevant configuration files. |
|
||||||
| `-v /downloads` | Location of downloads on disk. |
|
| `-v /downloads` | Location of downloads on disk. |
|
||||||
@@ -262,8 +259,9 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
* **12.11.20:** - Stop creating /config/data directory on startup
|
* **20.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
|
||||||
* **03.04.20:** - Fix adding search engine plugin
|
* **05.07.20:** - Shift to Python3
|
||||||
|
* **31.10.19:** - Adding unstable tag.
|
||||||
* **02.08.19:** - Add qbitorrent-cli for processing scripts.
|
* **02.08.19:** - Add qbitorrent-cli for processing scripts.
|
||||||
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||||
* **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic.
|
* **14.01.19:** - Rebase to Ubuntu, add multi arch and pipeline logic.
|
||||||
|
|||||||
@@ -3,10 +3,10 @@
|
|||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-qbittorrent
|
project_name: docker-qbittorrent
|
||||||
external_type: na
|
external_type: na
|
||||||
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-stable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'"
|
custom_version_command: "curl -sX GET http://ppa.launchpad.net/qbittorrent-team/qbittorrent-unstable/ubuntu/dists/bionic/main/binary-amd64/Packages.gz | gunzip -c |grep -A 7 -m 1 'Package: qbittorrent-nox' | awk -F ': ' '/Version/{print $2;exit}'"
|
||||||
release_type: stable
|
release_type: prerelease
|
||||||
release_tag: latest
|
release_tag: unstable
|
||||||
ls_branch: master
|
ls_branch: unstable
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- CONTAINER_NAME = 'qbittorrent'
|
- CONTAINER_NAME = 'qbittorrent'
|
||||||
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
- BUILD_VERSION_ARG = 'QBITTORRENT_VERSION'
|
||||||
|
|||||||
@@ -45,14 +45,14 @@ libapt-pkg5.01.6.12ubuntu0.2
|
|||||||
libasn1-8-heimdal7.5.0+dfsg-1
|
libasn1-8-heimdal7.5.0+dfsg-1
|
||||||
libassuan02.5.1-2
|
libassuan02.5.1-2
|
||||||
libattr11:2.4.47-2build1
|
libattr11:2.4.47-2build1
|
||||||
libaudit11:2.8.2-1ubuntu1
|
libaudit11:2.8.2-1ubuntu1.1
|
||||||
libaudit-common1:2.8.2-1ubuntu1
|
libaudit-common1:2.8.2-1ubuntu1.1
|
||||||
libblkid12.31.1-0.4ubuntu3.7
|
libblkid12.31.1-0.4ubuntu3.7
|
||||||
libboost-system1.65.11.65.1+dfsg-0ubuntu5
|
libboost-system1.65.11.65.1+dfsg-0ubuntu5
|
||||||
libbz2-1.01.0.6-8.1ubuntu0.2
|
libbz2-1.01.0.6-8.1ubuntu0.2
|
||||||
libc62.27-3ubuntu1.2
|
libc62.27-3ubuntu1.4
|
||||||
libcap-ng00.7.7-3.1
|
libcap-ng00.7.7-3.1
|
||||||
libc-bin2.27-3ubuntu1.2
|
libc-bin2.27-3ubuntu1.4
|
||||||
libcom-err21.44.1-1ubuntu1.3
|
libcom-err21.44.1-1ubuntu1.3
|
||||||
libcurl47.58.0-2ubuntu3.12
|
libcurl47.58.0-2ubuntu3.12
|
||||||
libdb5.35.3.28-13.1ubuntu1.1
|
libdb5.35.3.28-13.1ubuntu1.1
|
||||||
@@ -99,7 +99,7 @@ libncursesw56.1-1ubuntu1.18.04
|
|||||||
libnettle63.4-1
|
libnettle63.4-1
|
||||||
libnghttp2-141.30.0-1ubuntu1
|
libnghttp2-141.30.0-1ubuntu1
|
||||||
libnpth01.5-3
|
libnpth01.5-3
|
||||||
libp11-kit00.23.9-2
|
libp11-kit00.23.9-2ubuntu0.1
|
||||||
libpam0g1.1.8-3.6ubuntu2.18.04.2
|
libpam0g1.1.8-3.6ubuntu2.18.04.2
|
||||||
libpam-modules1.1.8-3.6ubuntu2.18.04.2
|
libpam-modules1.1.8-3.6ubuntu2.18.04.2
|
||||||
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.2
|
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.2
|
||||||
@@ -117,9 +117,9 @@ libqt5xml55.9.5+dfsg-0ubuntu2.5
|
|||||||
libreadline77.0-3
|
libreadline77.0-3
|
||||||
libroken18-heimdal7.5.0+dfsg-1
|
libroken18-heimdal7.5.0+dfsg-1
|
||||||
librtmp12.4+20151223.gitfa8646d.1-1
|
librtmp12.4+20151223.gitfa8646d.1-1
|
||||||
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.1
|
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
|
||||||
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.1
|
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
||||||
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.1
|
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
|
||||||
libseccomp22.4.3-1ubuntu3.18.04.3
|
libseccomp22.4.3-1ubuntu3.18.04.3
|
||||||
libselinux12.7-2build2
|
libselinux12.7-2build2
|
||||||
libsemanage12.7-2build2
|
libsemanage12.7-2build2
|
||||||
@@ -131,17 +131,17 @@ libss21.44.1-1ubuntu1.3
|
|||||||
libssl1.0.01.0.2n-1ubuntu5.5
|
libssl1.0.01.0.2n-1ubuntu5.5
|
||||||
libssl1.11.1.1-1ubuntu2.1~18.04.7
|
libssl1.11.1.1-1ubuntu2.1~18.04.7
|
||||||
libstdc++68.4.0-1ubuntu1~18.04
|
libstdc++68.4.0-1ubuntu1~18.04
|
||||||
libsystemd0237-3ubuntu10.42
|
libsystemd0237-3ubuntu10.44
|
||||||
libtasn1-64.13-2
|
libtasn1-64.13-2
|
||||||
libtinfo56.1-1ubuntu1.18.04
|
libtinfo56.1-1ubuntu1.18.04
|
||||||
libtorrent-rasterbar101.2.11+git20201124.afa406f890-1ppa1~18.04
|
libtorrent-rasterbar101.2.12+git20210118.3efdb8a941-1ppa1~18.04
|
||||||
libudev1237-3ubuntu10.42
|
libudev1237-3ubuntu10.44
|
||||||
libunistring20.9.9-0ubuntu2
|
libunistring20.9.9-0ubuntu2
|
||||||
libuuid12.31.1-0.4ubuntu3.7
|
libuuid12.31.1-0.4ubuntu3.7
|
||||||
libwind0-heimdal7.5.0+dfsg-1
|
libwind0-heimdal7.5.0+dfsg-1
|
||||||
libxml22.9.4+dfsg1-6.1ubuntu1.3
|
libxml22.9.4+dfsg1-6.1ubuntu1.3
|
||||||
libzstd11.3.3+dfsg-2ubuntu1.1
|
libzstd11.3.3+dfsg-2ubuntu1.1
|
||||||
locales2.27-3ubuntu1.3
|
locales2.27-3ubuntu1.4
|
||||||
login1:4.5-1ubuntu2
|
login1:4.5-1ubuntu2
|
||||||
lsb-base9.20170808ubuntu1
|
lsb-base9.20170808ubuntu1
|
||||||
mawk1.3.3-17ubuntu3
|
mawk1.3.3-17ubuntu3
|
||||||
@@ -162,18 +162,18 @@ python3.63.6.9-1~18.04ubuntu1.3
|
|||||||
python3.6-minimal3.6.9-1~18.04ubuntu1.3
|
python3.6-minimal3.6.9-1~18.04ubuntu1.3
|
||||||
python3-minimal3.6.7-1~18.04
|
python3-minimal3.6.7-1~18.04
|
||||||
qbittorrent-cli1.6.20334-1
|
qbittorrent-cli1.6.20334-1
|
||||||
qbittorrent-nox1:4.3.0.99~202011251333-7141-587688634~ubuntu18.04.1
|
qbittorrent-nox4.4.0~202012311433-7161-a579b4a51~ubuntu18.04.1
|
||||||
qttranslations5-l10n5.9.5-0ubuntu1
|
qttranslations5-l10n5.9.5-0ubuntu1
|
||||||
readline-common7.0-3
|
readline-common7.0-3
|
||||||
sed4.4-2
|
sed4.4-2
|
||||||
sensible-utils0.0.12
|
sensible-utils0.0.12
|
||||||
shared-mime-info1.9-2
|
shared-mime-info1.9-2
|
||||||
sysvinit-utils2.88dsf-59.10ubuntu1
|
sysvinit-utils2.88dsf-59.10ubuntu1
|
||||||
tar1.29b-2ubuntu0.1
|
tar1.29b-2ubuntu0.2
|
||||||
tzdata2020d-0ubuntu0.18.04
|
tzdata2020f-0ubuntu0.18.04
|
||||||
ubuntu-keyring2018.09.18.1~18.04.0
|
ubuntu-keyring2018.09.18.1~18.04.0
|
||||||
unrar1:5.5.8-1
|
unrar1:5.5.8-1
|
||||||
unzip6.0-21ubuntu1
|
unzip6.0-21ubuntu1.1
|
||||||
util-linux2.31.1-0.4ubuntu3.7
|
util-linux2.31.1-0.4ubuntu3.7
|
||||||
xdg-user-dirs0.17-1ubuntu1
|
xdg-user-dirs0.17-1ubuntu1
|
||||||
xz-utils5.2.2-1.3
|
xz-utils5.2.2-1.3
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ param_ports:
|
|||||||
param_usage_include_env: true
|
param_usage_include_env: true
|
||||||
param_env_vars:
|
param_env_vars:
|
||||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
|
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
|
||||||
- { env_var: "UMASK_SET", env_value: "022", desc: "for umask setting of qbittorrent, optional , default if left unset is 022"}
|
|
||||||
- { env_var: "WEBUI_PORT", env_value: "8080", desc: "for changing the port of the webui, see below for explanation"}
|
- { env_var: "WEBUI_PORT", env_value: "8080", desc: "for changing the port of the webui, see below for explanation"}
|
||||||
|
|
||||||
# optional parameters
|
# optional parameters
|
||||||
@@ -69,8 +68,9 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
- { date: "12.11.20:", desc: "Stop creating /config/data directory on startup" }
|
- { date: "20.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information." }
|
||||||
- { date: "03.04.20:", desc: "Fix adding search engine plugin" }
|
- { date: "05.07.20:", desc: "Shift to Python3" }
|
||||||
|
- { date: "31.10.19:", desc: "Adding unstable tag." }
|
||||||
- { date: "02.08.19:", desc: "Add qbitorrent-cli for processing scripts." }
|
- { date: "02.08.19:", desc: "Add qbitorrent-cli for processing scripts." }
|
||||||
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
||||||
- { date: "14.01.19:", desc: "Rebase to Ubuntu, add multi arch and pipeline logic." }
|
- { date: "14.01.19:", desc: "Rebase to Ubuntu, add multi arch and pipeline logic." }
|
||||||
|
|||||||
@@ -1,13 +1,15 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
# make our folder
|
# make our folders
|
||||||
mkdir -p /config/qBittorrent
|
mkdir -p \
|
||||||
|
/config/qBittorrent \
|
||||||
|
/config/data
|
||||||
|
|
||||||
# copy config
|
# copy config
|
||||||
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
|
[[ ! -e /config/qBittorrent/qBittorrent.conf ]] && \
|
||||||
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
|
cp /defaults/qBittorrent.conf /config/qBittorrent/qBittorrent.conf
|
||||||
|
|
||||||
# chown download directory if currently not set to abc
|
# chown download directory if currently set to root
|
||||||
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
|
if [[ "$(stat -c '%U' /downloads)" != "abc" ]]; then
|
||||||
chown -R abc:abc /downloads
|
chown -R abc:abc /downloads
|
||||||
fi
|
fi
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
UMASK_SET=${UMASK_SET:-022}
|
|
||||||
WEBUI_PORT=${WEBUI_PORT:-8080}
|
WEBUI_PORT=${WEBUI_PORT:-8080}
|
||||||
|
|
||||||
umask "$UMASK_SET"
|
if [ -n "${UMASK_SET}" ] && [ -z "${UMASK}" ]; then
|
||||||
|
echo -e "You are using a legacy method of defining umask\nplease update your environment variable from UMASK_SET to UMASK\nto keep the functionality after July 2021"
|
||||||
|
umask ${UMASK_SET}
|
||||||
|
fi
|
||||||
|
|
||||||
exec \
|
exec \
|
||||||
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"
|
s6-setuidgid abc /usr/bin/qbittorrent-nox --webui-port="${WEBUI_PORT}"
|
||||||
|
|||||||
Reference in New Issue
Block a user