mirror of
https://github.com/linuxserver/docker-bazarr.git
synced 2025-04-25 07:07:11 -04:00
Compare commits
478 commits
developmen
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
e9a5d137f2 | ||
|
de1465f981 | ||
|
499d9461d4 | ||
|
0659a474da | ||
|
d696e42e52 | ||
|
15e0f79dff | ||
|
cfcacd58ee | ||
|
3caad64e72 | ||
|
66d37b4a31 | ||
|
656e0796dc | ||
|
9fa68baf9d | ||
|
640c5d0f58 | ||
|
0e55aa723c | ||
|
a5e47e7795 | ||
|
2d96a825e8 | ||
|
2e437148ab | ||
|
818c4b37c6 | ||
|
d696d60999 | ||
|
dcb5ad0454 | ||
|
9d18700dd3 | ||
|
f575256c19 | ||
|
d1fecce254 | ||
|
2590705772 | ||
|
3ba1ff9577 | ||
|
b3206c2861 | ||
|
9ee3fc7fbd | ||
|
f72825335e | ||
|
116dacdedd | ||
|
cf886e3730 | ||
|
09472eafab | ||
|
7274e84ee2 | ||
|
2787b232bf | ||
|
c3abd5b4c6 | ||
|
e364f88b30 | ||
|
c3603b5e0e | ||
|
22ea3188d5 | ||
|
04c3825797 | ||
|
d5f9d967d6 | ||
|
29a5e7a9d0 | ||
|
dfc2c16ab1 | ||
|
3a9fec6cd4 | ||
|
33379f33cc | ||
|
885321a229 | ||
|
e76f75ef7e | ||
|
1a9b791fee | ||
|
6dbee94ef0 | ||
|
6378de0afb | ||
|
5c70e4dc80 | ||
|
07156341eb | ||
|
55482ecb25 | ||
|
6ffa978e4e | ||
|
2e684f8ebf | ||
|
10c9e6a7df | ||
|
8285ef94ac | ||
|
f092d8d4cc | ||
|
9fe4513f9c | ||
|
bda6a47e84 | ||
|
93030d026a | ||
|
f966bdeea2 | ||
|
9c2e49dace | ||
|
2bb78bab23 | ||
|
3a5f24a053 | ||
|
5f631bec7c | ||
|
5b763a72d6 | ||
|
11b0959801 | ||
|
67fcfe3d7d | ||
|
bf641732dd | ||
|
81f37f1730 | ||
|
5191ce82a5 | ||
|
b81a6cbc98 | ||
|
aacec34b18 | ||
|
6c982b9e5b | ||
|
b8cdda767a | ||
|
0a7e7d9888 | ||
|
9f9cb04f29 | ||
|
35beb5b2f2 | ||
|
4d98f42463 | ||
|
2f0f9520fc | ||
|
6201c18eb2 | ||
|
20a8675b91 | ||
|
2b73c52194 | ||
|
e08f65fed8 | ||
|
7d3bd210eb | ||
|
4ce1415610 | ||
|
d6d9bfaab3 | ||
|
2db08a6be8 | ||
|
cc0fdf9c61 | ||
|
825b75a985 | ||
|
7b847e093e | ||
|
3c47c5ca0e | ||
|
b3ab894b27 | ||
|
1818f1e476 | ||
|
dd7c2f1973 | ||
|
be56ddf2cd | ||
|
5ed486e9a7 | ||
|
b9d3d2d045 | ||
|
13dee5b3d6 | ||
|
c8e2f50a1f | ||
|
8ec93bb7b9 | ||
|
553e7cbdf7 | ||
|
001b0a2457 | ||
|
5e0632e15e | ||
|
ed06403f9b | ||
|
57d2cb2bd3 | ||
|
473aa75092 | ||
|
8710dacdc7 | ||
|
80b7d81273 | ||
|
330d70c1f6 | ||
|
bef7dab511 | ||
|
5a4117f16f | ||
|
f219eebb30 | ||
|
2868a49acf | ||
|
29c5338c4e | ||
|
e403f1ffda | ||
|
b27288cb7d | ||
|
487cf04399 | ||
|
f3129c95c8 | ||
|
79151aff88 | ||
|
259bdc93e3 | ||
|
41a6ae2a83 | ||
|
02c539e694 | ||
|
43389e79d9 | ||
|
3cee128fa1 | ||
|
e5053cce0b | ||
|
8796e3d038 | ||
|
0093e89270 | ||
|
e5ac906278 | ||
|
cd3db544b7 | ||
|
30c5e7b990 | ||
|
e22566820b | ||
|
ef9b6eaa9d | ||
|
4efb05dd52 | ||
|
428b8dd199 | ||
|
f1787081aa | ||
|
81b14df436 | ||
|
1bf9e399d5 | ||
|
06a37c191b | ||
|
8374c1e734 | ||
|
5c53589c82 | ||
|
75b8b53539 | ||
|
528e2a183e | ||
|
328d2d5ac2 | ||
|
723bcf6ee2 | ||
|
4bcdd646d6 | ||
|
285f9c5d91 | ||
|
caec5ca6e8 | ||
|
e56ac99aa4 | ||
|
a73c36e170 | ||
|
c88676a4df | ||
|
1cfe258281 | ||
|
c8e9a708c0 | ||
|
c33f6c1f7a | ||
|
cdf8566de7 | ||
|
11f6c51895 | ||
|
4356d67079 | ||
|
2f81dd59d8 | ||
|
cecd919d6a | ||
|
90fb2a3396 | ||
|
06900832eb | ||
|
f55cf1c588 | ||
|
5454c430c1 | ||
|
fb95fa3bdb | ||
|
bf77a8ea5c | ||
|
d6761d3c81 | ||
|
47f219bac3 | ||
|
049a73d41e | ||
|
71ee61a033 | ||
|
adb16a9366 | ||
|
77a4b09732 | ||
|
799285384e | ||
|
dff889ca93 | ||
|
4bb5af3649 | ||
|
d2d38c304c | ||
|
d3519ac36e | ||
|
f7c9a66cc2 | ||
|
7d37ad2c28 | ||
|
503d3cd471 | ||
|
411dbb6224 | ||
|
7c66fa1ee8 | ||
|
cae9305edf | ||
|
5dffb1f41e | ||
|
4985c8d869 | ||
|
0341ee34a3 | ||
|
fc28f1da5f | ||
|
ad231a9e4b | ||
|
2f48436127 | ||
|
4c91471cc4 | ||
|
77b0f18ac3 | ||
|
33398795f9 | ||
|
10c44d7658 | ||
|
9b1384c89d | ||
|
725835e78b | ||
|
5559cff0c0 | ||
|
9e7fd5ca9c | ||
|
173b732154 | ||
|
3009ece541 | ||
|
5aa10d632c | ||
|
6823296956 | ||
|
cea5b9956b | ||
|
0d93d4779e | ||
|
f8d2b7f124 | ||
|
6d11ffc5ec | ||
|
b66e8e8a21 | ||
|
eee6600c1b | ||
|
fb42b51f41 | ||
|
e6b1700282 | ||
|
68ff72ec48 | ||
|
3c7959f83b | ||
|
9617c30ac1 | ||
|
b5f6032716 | ||
|
f020e03611 | ||
|
7eceaa8079 | ||
|
a0e6a2b6e3 | ||
|
6cf152bc0c | ||
|
c8c7428095 | ||
|
cc4b5886e5 | ||
|
2243df3d94 | ||
|
e53cf6b133 | ||
|
b085a3eb7a | ||
|
bc43aaadc3 | ||
|
56724e5520 | ||
|
0312956554 | ||
|
ca31ae9221 | ||
|
4baef620ac | ||
|
6dc828c281 | ||
|
a4316c46db | ||
|
6ed00240e9 | ||
|
dd96c1b7f1 | ||
|
edd2e748c0 | ||
|
b9c0956ec2 | ||
|
482df2b51b | ||
|
2daa8f4cac | ||
|
989e192e80 | ||
|
c32864203b | ||
|
b57b87f02a | ||
|
41a53aef27 | ||
|
e102f63f9b | ||
|
9df3ee107f | ||
|
a4eb68e794 | ||
|
bc790db960 | ||
|
5e2bc570e3 | ||
|
82462c64ff | ||
|
56d7f50513 | ||
|
43973ff177 | ||
|
b59cd642fd | ||
|
2f6fe4a7db | ||
|
a84ea388fb | ||
|
cb55ae0f4d | ||
|
b634717905 | ||
|
0c96f2f375 | ||
|
2ce61b0018 | ||
|
6ef1615a30 | ||
|
07c79854f9 | ||
|
970fa473cc | ||
|
8f20997bd8 | ||
|
25ccac7b66 | ||
|
4391bd6a9e | ||
|
12b1e5c714 | ||
|
fc1a8c9775 | ||
|
86857727fa | ||
|
e74500afef | ||
|
c6fa455520 | ||
|
dd81f07b4c | ||
|
02f4ae3c53 | ||
|
ee159deea7 | ||
|
10f9abeff5 | ||
|
3ebd6caa37 | ||
|
2443639f48 | ||
|
9a0fcd8ce1 | ||
|
6dac744611 | ||
|
759eb9ae3c | ||
|
ca1a6a9f25 | ||
|
f76c17e9d5 | ||
|
eca0756060 | ||
|
c5100d5dd5 | ||
|
15cde74f3e | ||
|
f1c20f9306 | ||
|
4495cdfc43 | ||
|
829b93a590 | ||
|
d329070de1 | ||
|
c35f44e049 | ||
|
098e47dc58 | ||
|
757007b1a6 | ||
|
53d9a110bf | ||
|
abee1587f8 | ||
|
f2a513380d | ||
|
5f77a6f5e4 | ||
|
d1ca102afc | ||
|
4e3db23545 | ||
|
a72b2c155d | ||
|
9f487a9d8a | ||
|
ac27c88813 | ||
|
82f64b3a45 | ||
|
e5090d1d60 | ||
|
3413ca5872 | ||
|
95f82531ab | ||
|
763d52974b | ||
|
21c91da08e | ||
|
f4ddf2b1a0 | ||
|
21eba5bd05 | ||
|
f4fd7cc60d | ||
|
e244544545 | ||
|
a361e1212c | ||
|
acab508916 | ||
|
80e30b2f60 | ||
|
d9434f9532 | ||
|
ca1494db77 | ||
|
7fe67ce518 | ||
|
62ac7f10f5 | ||
|
899034de84 | ||
|
33cd38f068 | ||
|
6f5cf0fb41 | ||
|
9469184a0a | ||
|
9e6f2a4aed | ||
|
a3d2f5294f | ||
|
02b6147b91 | ||
|
b4dee4d36a | ||
|
61baa423d6 | ||
|
02a69d12e9 | ||
|
af3982b8ca | ||
|
5cf05bef7b | ||
|
80c78d7314 | ||
|
ef87af3ac4 | ||
|
ee546ced5a | ||
|
d3ea78f4fe | ||
|
6e66bb8d53 | ||
|
97ced93195 | ||
|
cadc34fe1d | ||
|
a807929ea9 | ||
|
158ad0282d | ||
|
7d7a26c7be | ||
|
adc860825b | ||
|
921710e9bd | ||
|
567ebcf8b9 | ||
|
145de52871 | ||
|
448cab50e3 | ||
|
12a3b8e3da | ||
|
653eaa9837 | ||
|
7bf522452c | ||
|
3be5405c32 | ||
|
c298f98dfc | ||
|
2c10870550 | ||
|
c1d7947ce1 | ||
|
41e350dc0d | ||
|
6b909e3524 | ||
|
14c459d43f | ||
|
32184cb088 | ||
|
4a5eed9d6d | ||
|
6453a932f5 | ||
|
f1923845eb | ||
|
bf331f6316 | ||
|
46440b5612 | ||
|
63e03f88ff | ||
|
5885284915 | ||
|
ca3fda958c | ||
|
200be4e9e2 | ||
|
c798149981 | ||
|
f837c69c5e | ||
|
0898da155f | ||
|
6265de5bc7 | ||
|
4558d28985 | ||
|
4cae73af67 | ||
|
315c4725c6 | ||
|
19b8486250 | ||
|
518660cb27 | ||
|
d856441844 | ||
|
46d018ce66 | ||
|
800b85f9a3 | ||
|
d39fe9a225 | ||
|
bfe5296732 | ||
|
649f3c5262 | ||
|
996a0419dc | ||
|
9b2d70b401 | ||
|
bee6d60fc9 | ||
|
775cc78643 | ||
|
27b5fb431c | ||
|
e1c591b962 | ||
|
8dff2ae89d | ||
|
4fab4601e5 | ||
|
2cb6463ada | ||
|
1aa9ecba03 | ||
|
df39803c1c | ||
|
c90a020985 | ||
|
87c9b1308a | ||
|
4e702cdf09 | ||
|
81390464ed | ||
|
9fb69817e1 | ||
|
2372d9e229 | ||
|
c66a7168ac | ||
|
a14403df77 | ||
|
146b69815a | ||
|
08655e34f0 | ||
|
422d472152 | ||
|
5805733910 | ||
|
9be9f898aa | ||
|
6966487905 | ||
|
812a5bb938 | ||
|
1c94ec4128 | ||
|
dabb0a9e6c | ||
|
63d6ec1dfb | ||
|
9ecb01b1b1 | ||
|
1243fb9852 | ||
|
b7276d2083 | ||
|
5d1049bfb8 | ||
|
0b51bac06f | ||
|
68f23d34c9 | ||
|
0bc8f50746 | ||
|
af31828167 | ||
|
a3972f0688 | ||
|
e15f65d900 | ||
|
8dd83caba8 | ||
|
900f7d44d4 | ||
|
2fe9e7d97f | ||
|
e680ad8651 | ||
|
29f3703848 | ||
|
a36daab137 | ||
|
233f36b991 | ||
|
a550c0c276 | ||
|
f97b402c7e | ||
|
049d690834 | ||
|
405ee40ad4 | ||
|
4f32b6d6b1 | ||
|
8a4171253e | ||
|
a1b9c3c224 | ||
|
06c23ce14f | ||
|
a1b8abfa09 | ||
|
db3dab14c5 | ||
|
b9776570c6 | ||
|
5e143830af | ||
|
4b0ccf6a7f | ||
|
e7fcb6aeb4 | ||
|
a788d9d5c7 | ||
|
50b147ae16 | ||
|
549a03d82d | ||
|
1bdf8cfdb5 | ||
|
735d77959a | ||
|
29a4fb0275 | ||
|
2b8ef0f323 | ||
|
ba9b8c3b2e | ||
|
0881a19dbb | ||
|
4df6eedfd5 | ||
|
8df43dd2bd | ||
|
c90f43593c | ||
|
123b41c9e9 | ||
|
e1e0b687e7 | ||
|
8e609f41d4 | ||
|
95fe994471 | ||
|
858f9ec31f | ||
|
60ceeb50cf | ||
|
9bfc7e903b | ||
|
620748cc50 | ||
|
35481cf84a | ||
|
dfee5d1682 | ||
|
8da8f3c7a4 | ||
|
ef0502d31c | ||
|
8f7d985aae | ||
|
64fa3aa1c6 | ||
|
2ac4a885db | ||
|
231f2ea7aa | ||
|
2bcce1e012 | ||
|
87a44974ba | ||
|
9bff1e6ccc | ||
|
7f15d1e9bb | ||
|
183730d8c7 | ||
|
8fc4ea614f | ||
|
b7cad8f102 | ||
|
d27a2d1b6f | ||
|
12d65f86c4 | ||
|
4784e29638 | ||
|
38317e3c3b | ||
|
b8281494b5 | ||
|
6969998553 | ||
|
bbf3539f11 | ||
|
db9d4001ec | ||
|
003b3f92a7 | ||
|
e5de06aef5 | ||
|
e80f01f7da | ||
|
62a4ff3b34 |
12 changed files with 515 additions and 460 deletions
6
.github/CONTRIBUTING.md
vendored
6
.github/CONTRIBUTING.md
vendored
|
@ -6,7 +6,7 @@
|
||||||
* Read, and fill the Pull Request template
|
* Read, and fill the Pull Request template
|
||||||
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
|
* If this is a fix for a typo (in code, documentation, or the README) please file an issue and let us sort it out. We do not need a PR
|
||||||
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
|
* If the PR is addressing an existing issue include, closes #\<issue number>, in the body of the PR commit message
|
||||||
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://discord.gg/YWrKVTn)
|
* If you want to discuss changes, you can also bring it up in [#dev-talk](https://discordapp.com/channels/354974912613449730/757585807061155840) in our [Discord server](https://linuxserver.io/discord)
|
||||||
|
|
||||||
## Common files
|
## Common files
|
||||||
|
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
## Readme
|
## Readme
|
||||||
|
|
||||||
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
|
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-bazarr/edit/development/readme-vars.yml).
|
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-bazarr/edit/master/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.
|
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-bazarr)
|
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-bazarr)
|
||||||
|
@ -115,7 +115,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||||
|
|
||||||
## Update the changelog
|
## Update the changelog
|
||||||
|
|
||||||
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-bazarr/tree/development/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-bazarr/tree/master/root), add an entry to the changelog
|
||||||
|
|
||||||
```yml
|
```yml
|
||||||
changelogs:
|
changelogs:
|
||||||
|
|
2
.github/ISSUE_TEMPLATE/config.yml
vendored
2
.github/ISSUE_TEMPLATE/config.yml
vendored
|
@ -1,7 +1,7 @@
|
||||||
blank_issues_enabled: false
|
blank_issues_enabled: false
|
||||||
contact_links:
|
contact_links:
|
||||||
- name: Discord chat support
|
- name: Discord chat support
|
||||||
url: https://discord.gg/YWrKVTn
|
url: https://linuxserver.io/discord
|
||||||
about: Realtime support / chat with the community and the team.
|
about: Realtime support / chat with the community and the team.
|
||||||
|
|
||||||
- name: Discourse discussion forum
|
- name: Discourse discussion forum
|
||||||
|
|
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
2
.github/PULL_REQUEST_TEMPLATE.md
vendored
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-bazarr/blob/development/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-bazarr/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||||
|
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
|
|
36
.github/workflows/external_trigger.yml
vendored
36
.github/workflows/external_trigger.yml
vendored
|
@ -4,31 +4,39 @@ on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
external-trigger-development:
|
external-trigger-master:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4.1.1
|
- uses: actions/checkout@v4.1.1
|
||||||
|
|
||||||
- name: External Trigger
|
- name: External Trigger
|
||||||
if: github.ref == 'refs/heads/development'
|
if: github.ref == 'refs/heads/master'
|
||||||
env:
|
env:
|
||||||
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
||||||
run: |
|
run: |
|
||||||
printf "# External trigger for docker-bazarr\n\n" >> $GITHUB_STEP_SUMMARY
|
printf "# External trigger for docker-bazarr\n\n" >> $GITHUB_STEP_SUMMARY
|
||||||
if grep -q "^bazarr_development" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
if grep -q "^bazarr_master_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||||
|
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||||
|
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`bazarr_master_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||||
|
elif grep -q "^bazarr_master" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`bazarr_development\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`bazarr_master\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> External trigger running off of development branch. To disable this trigger, add \`bazarr_development\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
echo "> External trigger running off of master branch. To disable this trigger, add \`bazarr_master\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $GITHUB_STEP_SUMMARY
|
||||||
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
printf "\n## Retrieving external version\n\n" >> $GITHUB_STEP_SUMMARY
|
||||||
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/morpheus65535/bazarr/releases" | jq -r '.[0] | .tag_name')
|
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/morpheus65535/bazarr/releases/latest" | jq -r '. | .tag_name')
|
||||||
echo "Type is \`github_devel\`" >> $GITHUB_STEP_SUMMARY
|
echo "Type is \`github_stable\`" >> $GITHUB_STEP_SUMMARY
|
||||||
|
if grep -q "^bazarr_master_${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
|
||||||
|
fi
|
||||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
FAILURE_REASON="Can't retrieve external version for bazarr branch development"
|
FAILURE_REASON="Can't retrieve external version for bazarr branch master"
|
||||||
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-bazarr/actions/runs/${{ github.run_id }}"
|
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-bazarr/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**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
||||||
|
@ -39,7 +47,7 @@ jobs:
|
||||||
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
|
echo "External version: \`${EXT_RELEASE}\`" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
|
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
|
||||||
image="linuxserver/bazarr"
|
image="linuxserver/bazarr"
|
||||||
tag="development"
|
tag="latest"
|
||||||
token=$(curl -sX GET \
|
token=$(curl -sX GET \
|
||||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fbazarr%3Apull" \
|
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fbazarr%3Apull" \
|
||||||
| jq -r '.token')
|
| jq -r '.token')
|
||||||
|
@ -85,7 +93,7 @@ jobs:
|
||||||
if [ -z "${IMAGE_VERSION}" ]; then
|
if [ -z "${IMAGE_VERSION}" ]; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
|
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
FAILURE_REASON="Can't retrieve last pushed version for bazarr tag development"
|
FAILURE_REASON="Can't retrieve last pushed version for bazarr tag latest"
|
||||||
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 }}
|
||||||
|
@ -95,14 +103,14 @@ jobs:
|
||||||
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
||||||
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
|
echo "Version \`${EXT_RELEASE}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
exit 0
|
exit 0
|
||||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bazarr/job/development/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bazarr/job/master/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
|
echo "New version \`${EXT_RELEASE}\` found; but there already seems to be an active build on Jenkins; exiting" >> $GITHUB_STEP_SUMMARY
|
||||||
exit 0
|
exit 0
|
||||||
else
|
else
|
||||||
if [[ "${artifacts_found}" == "false" ]]; then
|
if [[ "${artifacts_found}" == "false" ]]; then
|
||||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $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 bazarr tag development is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
FAILURE_REASON="New version ${EXT_RELEASE} for bazarr 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,
|
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"}],
|
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||||
|
@ -113,7 +121,7 @@ jobs:
|
||||||
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
|
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
|
||||||
fi
|
fi
|
||||||
response=$(curl -iX POST \
|
response=$(curl -iX POST \
|
||||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bazarr/job/development/buildWithParameters?PACKAGE_CHECK=false \
|
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bazarr/job/master/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'})" >> $GITHUB_STEP_SUMMARY
|
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
|
||||||
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
||||||
|
@ -128,7 +136,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 bazarr tag development. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
|
TRIGGER_REASON="A version change was detected for bazarr 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,
|
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
|
@ -9,5 +9,5 @@ jobs:
|
||||||
- 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 relevant issue templates, or risk having this issue marked as invalid.'
|
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-bazarr/blob/development/.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-bazarr/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
|
@ -34,8 +34,8 @@ RUN \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/app/bazarr/bin && \
|
/app/bazarr/bin && \
|
||||||
if [ -z ${BAZARR_VERSION+x} ]; then \
|
if [ -z ${BAZARR_VERSION+x} ]; then \
|
||||||
BAZARR_VERSION=$(curl -sX GET https://api.github.com/repos/morpheus65535/bazarr/releases \
|
BAZARR_VERSION=$(curl -sX GET "https://api.github.com/repos/morpheus65535/bazarr/releases/latest" \
|
||||||
| jq -r '.[0] | .tag_name'); \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
fi && \
|
fi && \
|
||||||
curl -o \
|
curl -o \
|
||||||
/tmp/bazarr.zip -L \
|
/tmp/bazarr.zip -L \
|
||||||
|
@ -44,7 +44,7 @@ RUN \
|
||||||
/tmp/bazarr.zip -d \
|
/tmp/bazarr.zip -d \
|
||||||
/app/bazarr/bin && \
|
/app/bazarr/bin && \
|
||||||
rm -Rf /app/bazarr/bin/bin && \
|
rm -Rf /app/bazarr/bin/bin && \
|
||||||
echo "UpdateMethod=docker\nBranch=development\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/bazarr/package_info && \
|
echo "UpdateMethod=docker\nBranch=master\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/bazarr/package_info && \
|
||||||
curl -o \
|
curl -o \
|
||||||
/app/bazarr/bin/postgres-requirements.txt -L \
|
/app/bazarr/bin/postgres-requirements.txt -L \
|
||||||
"https://raw.githubusercontent.com/morpheus65535/bazarr/${BAZARR_VERSION}/postgres-requirements.txt" && \
|
"https://raw.githubusercontent.com/morpheus65535/bazarr/${BAZARR_VERSION}/postgres-requirements.txt" && \
|
||||||
|
|
|
@ -34,8 +34,8 @@ RUN \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/app/bazarr/bin && \
|
/app/bazarr/bin && \
|
||||||
if [ -z ${BAZARR_VERSION+x} ]; then \
|
if [ -z ${BAZARR_VERSION+x} ]; then \
|
||||||
BAZARR_VERSION=$(curl -sX GET https://api.github.com/repos/morpheus65535/bazarr/releases \
|
BAZARR_VERSION=$(curl -sX GET "https://api.github.com/repos/morpheus65535/bazarr/releases/latest" \
|
||||||
| jq -r '.[0] | .tag_name'); \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
fi && \
|
fi && \
|
||||||
curl -o \
|
curl -o \
|
||||||
/tmp/bazarr.zip -L \
|
/tmp/bazarr.zip -L \
|
||||||
|
@ -44,7 +44,7 @@ RUN \
|
||||||
/tmp/bazarr.zip -d \
|
/tmp/bazarr.zip -d \
|
||||||
/app/bazarr/bin && \
|
/app/bazarr/bin && \
|
||||||
rm -Rf /app/bazarr/bin/bin && \
|
rm -Rf /app/bazarr/bin/bin && \
|
||||||
echo "UpdateMethod=docker\nBranch=development\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/bazarr/package_info && \
|
echo "UpdateMethod=docker\nBranch=master\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/bazarr/package_info && \
|
||||||
curl -o \
|
curl -o \
|
||||||
/app/bazarr/bin/postgres-requirements.txt -L \
|
/app/bazarr/bin/postgres-requirements.txt -L \
|
||||||
"https://raw.githubusercontent.com/morpheus65535/bazarr/${BAZARR_VERSION}/postgres-requirements.txt" && \
|
"https://raw.githubusercontent.com/morpheus65535/bazarr/${BAZARR_VERSION}/postgres-requirements.txt" && \
|
||||||
|
|
167
Jenkinsfile
vendored
167
Jenkinsfile
vendored
|
@ -19,7 +19,7 @@ pipeline {
|
||||||
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
|
DOCKERHUB_TOKEN=credentials('docker-hub-ci-pat')
|
||||||
QUAYIO_API_TOKEN=credentials('quayio-repo-api-token')
|
QUAYIO_API_TOKEN=credentials('quayio-repo-api-token')
|
||||||
GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f')
|
GIT_SIGNING_KEY=credentials('484fbca6-9a4f-455e-b9e3-97ac98785f5f')
|
||||||
EXT_GIT_BRANCH = 'development'
|
EXT_GIT_BRANCH = 'master'
|
||||||
EXT_USER = 'morpheus65535'
|
EXT_USER = 'morpheus65535'
|
||||||
EXT_REPO = 'bazarr'
|
EXT_REPO = 'bazarr'
|
||||||
BUILD_VERSION_ARG = 'BAZARR_VERSION'
|
BUILD_VERSION_ARG = 'BAZARR_VERSION'
|
||||||
|
@ -59,15 +59,27 @@ pipeline {
|
||||||
steps{
|
steps{
|
||||||
echo "Running on node: ${NODE_NAME}"
|
echo "Running on node: ${NODE_NAME}"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
containers=$(docker ps -aq)
|
echo "Pruning builder"
|
||||||
|
docker builder prune -f --builder container || :
|
||||||
|
containers=$(docker ps -q)
|
||||||
if [[ -n "${containers}" ]]; then
|
if [[ -n "${containers}" ]]; then
|
||||||
docker stop ${containers}
|
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
|
||||||
|
for container in ${containers}; do
|
||||||
|
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
|
||||||
|
echo "skipping buildx container in docker stop"
|
||||||
|
else
|
||||||
|
echo "Stopping container ${container}"
|
||||||
|
docker stop ${container}
|
||||||
fi
|
fi
|
||||||
docker system prune -af --volumes || : '''
|
done
|
||||||
|
fi
|
||||||
|
docker system prune -f --volumes || :
|
||||||
|
docker image prune -af || :
|
||||||
|
'''
|
||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''docker run --rm quay.io/skopeo/stable:v1 inspect docker://ghcr.io/${LS_USER}/${CONTAINER_NAME}:development 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()
|
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' ''',
|
||||||
|
@ -96,7 +108,7 @@ pipeline {
|
||||||
script{
|
script{
|
||||||
env.LS_TAG_NUMBER = sh(
|
env.LS_TAG_NUMBER = sh(
|
||||||
script: '''#! /bin/bash
|
script: '''#! /bin/bash
|
||||||
tagsha=$(git rev-list -n 1 development-${LS_RELEASE} 2>/dev/null)
|
tagsha=$(git rev-list -n 1 ${LS_RELEASE} 2>/dev/null)
|
||||||
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
|
if [ "${tagsha}" == "${COMMIT_SHA}" ]; then
|
||||||
echo ${LS_RELEASE_NUMBER}
|
echo ${LS_RELEASE_NUMBER}
|
||||||
elif [ -z "${GIT_COMMIT}" ]; then
|
elif [ -z "${GIT_COMMIT}" ]; then
|
||||||
|
@ -129,12 +141,12 @@ pipeline {
|
||||||
/* ########################
|
/* ########################
|
||||||
External Release Tagging
|
External Release Tagging
|
||||||
######################## */
|
######################## */
|
||||||
// If this is a devel github release use the first in an array from github to determine the ext tag
|
// If this is a stable github release use the latest endpoint from github to determine the ext tag
|
||||||
stage("Set ENV github_devel"){
|
stage("Set ENV github_stable"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases | jq -r '.[0] | .tag_name' ''',
|
script: '''curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -181,10 +193,10 @@ pipeline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a development build use live docker endpoints
|
// If this is a master build use live docker endpoints
|
||||||
stage("Set ENV live build"){
|
stage("Set ENV live build"){
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
|
@ -194,13 +206,13 @@ pipeline {
|
||||||
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
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-development-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER + '|arm64v8-development-' + 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 {
|
} else {
|
||||||
env.CI_TAGS = 'development-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.META_TAG = 'development-' + env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
env.EXT_RELEASE_TAG = 'development-version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
|
||||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
env.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'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -208,7 +220,7 @@ pipeline {
|
||||||
// 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 "development"}
|
not {branch "master"}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
|
@ -218,13 +230,13 @@ pipeline {
|
||||||
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
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/lsiodev-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '|arm64v8-development-' + 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 {
|
} else {
|
||||||
env.CI_TAGS = 'development-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
|
||||||
env.META_TAG = 'development-' + 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.EXT_RELEASE_TAG = 'development-version-' + env.EXT_RELEASE_CLEAN
|
env.EXT_RELEASE_TAG = '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/'
|
||||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
env.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'
|
||||||
}
|
}
|
||||||
|
@ -242,13 +254,13 @@ pipeline {
|
||||||
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
|
||||||
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
env.QUAYIMAGE = 'quay.io/linuxserver.io/lspipepr-' + env.CONTAINER_NAME
|
||||||
if (env.MULTIARCH == 'true') {
|
if (env.MULTIARCH == 'true') {
|
||||||
env.CI_TAGS = 'amd64-development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST + '|arm64v8-development-' + 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 {
|
} else {
|
||||||
env.CI_TAGS = 'development-' + 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.VERSION_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||||
env.META_TAG = 'development-' + env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA + '-pr-' + env.PULL_REQUEST
|
||||||
env.EXT_RELEASE_TAG = 'development-version-' + env.EXT_RELEASE_CLEAN
|
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.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/'
|
||||||
env.BUILDCACHE = 'docker.io/lsiodev/buildcache,registry.gitlab.com/linuxserver.io/docker-jenkins-builder/lsiodev-buildcache,ghcr.io/linuxserver/lsiodev-buildcache,quay.io/linuxserver.io/lsiodev-buildcache'
|
env.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'
|
||||||
|
@ -286,7 +298,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 "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
expression {
|
expression {
|
||||||
env.CONTAINER_NAME != null
|
env.CONTAINER_NAME != null
|
||||||
|
@ -298,24 +310,24 @@ pipeline {
|
||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
docker pull ghcr.io/linuxserver/jenkins-builder:latest
|
||||||
# Cloned repo paths for templating:
|
# Cloned repo paths for templating:
|
||||||
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch development of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
# ${TEMPDIR}/docker-${CONTAINER_NAME}: Cloned branch master of ${LS_USER}/${LS_REPO} for running the jenkins builder on
|
||||||
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch development of ${LS_USER}/${LS_REPO} for commiting various templated file changes and pushing back to Github
|
# ${TEMPDIR}/repo/${LS_REPO}: Cloned branch master 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}/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/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
|
# ${TEMPDIR}/unraid/templates: Cloned templates repo for commiting unraid template changes and pushing back to Github
|
||||||
git clone --branch development --depth 1 https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/docker-${CONTAINER_NAME}
|
git clone --branch master --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
|
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"
|
echo "Starting Stage 1 - Jenkinsfile update"
|
||||||
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
if [[ "$(md5sum Jenkinsfile | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile | awk '{ print $1 }')" ]]; then
|
||||||
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 development
|
git checkout -f master
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
git add Jenkinsfile
|
git add Jenkinsfile
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
|
echo "Updating Jenkinsfile and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
|
@ -334,13 +346,13 @@ 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 development
|
git checkout -f master
|
||||||
for i in ${TEMPLATES_TO_DELETE}; do
|
for i in ${TEMPLATES_TO_DELETE}; do
|
||||||
git rm "${i}"
|
git rm "${i}"
|
||||||
done
|
done
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
|
echo "Deleting old/deprecated templates and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
|
@ -355,20 +367,20 @@ pipeline {
|
||||||
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
|
sed -i 's|^changelogs:|# init diagram\\ninit_diagram:\\n\\n# changelog\\nchangelogs:|' readme-vars.yml
|
||||||
fi
|
fi
|
||||||
mkdir -p ${TEMPDIR}/d2
|
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}:development
|
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
|
ls -al ${TEMPDIR}/d2
|
||||||
yq -ei ".init_diagram |= load_str(\\"${TEMPDIR}/d2/${CONTAINER_NAME}-development.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
|
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."
|
echo "'init_diagram' has been updated. Updating repo and exiting build, new one will trigger based on commit."
|
||||||
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 development
|
git checkout -f master
|
||||||
cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
|
cp ${WORKSPACE}/readme-vars.yml ${TEMPDIR}/repo/${LS_REPO}/readme-vars.yml
|
||||||
git add readme-vars.yml
|
git add readme-vars.yml
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
|
@ -385,7 +397,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 development
|
git checkout -f master
|
||||||
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
|
||||||
|
@ -398,8 +410,8 @@ pipeline {
|
||||||
fi
|
fi
|
||||||
git add readme-vars.yml ${TEMPLATED_FILES}
|
git add readme-vars.yml ${TEMPLATED_FILES}
|
||||||
git commit -m 'Bot Updating Templated Files'
|
git commit -m 'Bot Updating Templated Files'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Updating templates and exiting build, new one will trigger based on commit"
|
echo "Updating templates and exiting build, new one will trigger based on commit"
|
||||||
rm -Rf ${TEMPDIR}
|
rm -Rf ${TEMPDIR}
|
||||||
|
@ -500,7 +512,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 "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'FILES_UPDATED', value: 'true'
|
environment name: 'FILES_UPDATED', value: 'true'
|
||||||
expression {
|
expression {
|
||||||
|
@ -513,10 +525,10 @@ pipeline {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a development build check the S6 service file perms
|
// If this is a master build check the S6 service file perms
|
||||||
stage("Check S6 Service file Permissions"){
|
stage("Check S6 Service file Permissions"){
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
|
@ -583,7 +595,7 @@ pipeline {
|
||||||
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Bazarr\" \
|
--label \"org.opencontainers.image.title=Bazarr\" \
|
||||||
--label \"org.opencontainers.image.description=[Bazarr](https://github.com/morpheus65535/bazarr) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.\" \
|
--label \"org.opencontainers.image.description=[Bazarr](https://www.bazarr.media/) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.\" \
|
||||||
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
|
--no-cache --pull -t ${IMAGE}:${META_TAG} --platform=linux/amd64 \
|
||||||
--provenance=true --sbom=true --builder=container --load \
|
--provenance=true --sbom=true --builder=container --load \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
|
@ -649,7 +661,7 @@ pipeline {
|
||||||
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Bazarr\" \
|
--label \"org.opencontainers.image.title=Bazarr\" \
|
||||||
--label \"org.opencontainers.image.description=[Bazarr](https://github.com/morpheus65535/bazarr) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.\" \
|
--label \"org.opencontainers.image.description=[Bazarr](https://www.bazarr.media/) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.\" \
|
||||||
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
|
--no-cache --pull -t ${IMAGE}:amd64-${META_TAG} --platform=linux/amd64 \
|
||||||
--provenance=true --sbom=true --builder=container --load \
|
--provenance=true --sbom=true --builder=container --load \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
|
@ -708,7 +720,7 @@ pipeline {
|
||||||
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
--label \"org.opencontainers.image.licenses=GPL-3.0-only\" \
|
||||||
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
--label \"org.opencontainers.image.ref.name=${COMMIT_SHA}\" \
|
||||||
--label \"org.opencontainers.image.title=Bazarr\" \
|
--label \"org.opencontainers.image.title=Bazarr\" \
|
||||||
--label \"org.opencontainers.image.description=[Bazarr](https://github.com/morpheus65535/bazarr) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.\" \
|
--label \"org.opencontainers.image.description=[Bazarr](https://www.bazarr.media/) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.\" \
|
||||||
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
|
--no-cache --pull -f Dockerfile.aarch64 -t ${IMAGE}:arm64v8-${META_TAG} --platform=linux/arm64 \
|
||||||
--provenance=true --sbom=true --builder=container --load \
|
--provenance=true --sbom=true --builder=container --load \
|
||||||
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
--build-arg ${BUILD_VERSION_ARG}=${EXT_RELEASE} --build-arg VERSION=\"${VERSION_TAG}\" --build-arg BUILD_DATE=${GITHUB_DATE} ."
|
||||||
|
@ -751,7 +763,8 @@ pipeline {
|
||||||
if [[ -n "${containers}" ]]; then
|
if [[ -n "${containers}" ]]; then
|
||||||
docker stop ${containers}
|
docker stop ${containers}
|
||||||
fi
|
fi
|
||||||
docker system prune -af --volumes || :
|
docker system prune -f --volumes || :
|
||||||
|
docker image prune -af || :
|
||||||
'''
|
'''
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -760,7 +773,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 "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
|
@ -783,14 +796,14 @@ 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 development
|
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
||||||
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
|
||||||
git add package_versions.txt
|
git add package_versions.txt
|
||||||
git commit -m 'Bot Updating Package Versions'
|
git commit -m 'Bot Updating Package Versions'
|
||||||
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git pull https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git development
|
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git master
|
||||||
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/packages-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
echo "Package tag updated, stopping build process"
|
echo "Package tag updated, stopping build process"
|
||||||
else
|
else
|
||||||
|
@ -808,7 +821,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 "development"
|
branch "master"
|
||||||
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: ''
|
||||||
|
@ -822,7 +835,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 "development"
|
branch "master"
|
||||||
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: ''
|
||||||
|
@ -876,7 +889,7 @@ pipeline {
|
||||||
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
-e DOCKER_LOGS_TIMEOUT=\"${CI_DELAY}\" \
|
||||||
-e TAGS=\"${CI_TAGS}\" \
|
-e TAGS=\"${CI_TAGS}\" \
|
||||||
-e META_TAG=\"${META_TAG}\" \
|
-e META_TAG=\"${META_TAG}\" \
|
||||||
-e RELEASE_TAG=\"development\" \
|
-e RELEASE_TAG=\"latest\" \
|
||||||
-e PORT=\"${CI_PORT}\" \
|
-e PORT=\"${CI_PORT}\" \
|
||||||
-e SSL=\"${CI_SSL}\" \
|
-e SSL=\"${CI_SSL}\" \
|
||||||
-e BASE=\"${DIST_IMAGE}\" \
|
-e BASE=\"${DIST_IMAGE}\" \
|
||||||
|
@ -913,7 +926,7 @@ pipeline {
|
||||||
CACHEIMAGE=${i}
|
CACHEIMAGE=${i}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${META_TAG} -t ${PUSHIMAGE}:development -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
|
if [ -n "${SEMVER}" ]; then
|
||||||
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker buildx imagetools create --prefer-index=false -t ${PUSHIMAGE}:${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
fi
|
fi
|
||||||
|
@ -940,15 +953,15 @@ pipeline {
|
||||||
CACHEIMAGE=${i}
|
CACHEIMAGE=${i}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:amd64-${META_TAG} -t ${MANIFESTIMAGE}:amd64-development -t ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${CACHEIMAGE}:amd64-${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-development -t ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} ${CACHEIMAGE}:arm64v8-${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
|
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}:amd64-${SEMVER} ${CACHEIMAGE}:amd64-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
docker buildx imagetools create --prefer-index=false -t ${MANIFESTIMAGE}:arm64v8-${SEMVER} ${CACHEIMAGE}:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
for MANIFESTIMAGE in "${IMAGE}" "${GITLABIMAGE}" "${GITHUBIMAGE}" "${QUAYIMAGE}"; do
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:development ${MANIFESTIMAGE}:amd64-development ${MANIFESTIMAGE}:arm64v8-development
|
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}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
|
||||||
|
|
||||||
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
docker buildx imagetools create -t ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
|
||||||
|
@ -963,7 +976,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 "development"
|
branch "master"
|
||||||
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
|
||||||
}
|
}
|
||||||
|
@ -975,17 +988,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":"'${META_TAG}'",\
|
-d '{"tag":"'${META_TAG}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to development",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer-CI","email": "ci@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases | jq '.[0] |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
||||||
echo '{"tag_name":"'${META_TAG}'",\
|
echo '{"tag_name":"'${META_TAG}'",\
|
||||||
"target_commitish": "development",\
|
"target_commitish": "master",\
|
||||||
"name": "'${META_TAG}'",\
|
"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
|
"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
|
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'''
|
||||||
}
|
}
|
||||||
|
@ -993,14 +1006,14 @@ pipeline {
|
||||||
// Add protection to the release branch
|
// Add protection to the release branch
|
||||||
stage('Github-Release-Branch-Protection') {
|
stage('Github-Release-Branch-Protection') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
echo "Setting up protection for release branch development"
|
echo "Setting up protection for release branch master"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/development/protection \
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X PUT https://api.github.com/repos/${LS_USER}/${LS_REPO}/branches/master/protection \
|
||||||
-d $(jq -c . << EOF
|
-d $(jq -c . << EOF
|
||||||
{
|
{
|
||||||
"required_status_checks": null,
|
"required_status_checks": null,
|
||||||
|
@ -1162,12 +1175,22 @@ EOF
|
||||||
}
|
}
|
||||||
cleanup {
|
cleanup {
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo "Performing docker system prune!!"
|
echo "Pruning builder!!"
|
||||||
containers=$(docker ps -aq)
|
docker builder prune -f --builder container || :
|
||||||
|
containers=$(docker ps -q)
|
||||||
if [[ -n "${containers}" ]]; then
|
if [[ -n "${containers}" ]]; then
|
||||||
docker stop ${containers}
|
BUILDX_CONTAINER_ID=$(docker ps -qf 'name=buildx_buildkit')
|
||||||
|
for container in ${containers}; do
|
||||||
|
if [[ "${container}" == "${BUILDX_CONTAINER_ID}" ]]; then
|
||||||
|
echo "skipping buildx container in docker stop"
|
||||||
|
else
|
||||||
|
echo "Stopping container ${container}"
|
||||||
|
docker stop ${container}
|
||||||
fi
|
fi
|
||||||
docker system prune -af --volumes || :
|
done
|
||||||
|
fi
|
||||||
|
docker system prune -f --volumes || :
|
||||||
|
docker image prune -af || :
|
||||||
'''
|
'''
|
||||||
cleanWs()
|
cleanWs()
|
||||||
}
|
}
|
||||||
|
|
64
README.md
64
README.md
|
@ -1,9 +1,9 @@
|
||||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||||
<!-- Please read https://github.com/linuxserver/docker-bazarr/blob/development/.github/CONTRIBUTING.md -->
|
<!-- Please read https://github.com/linuxserver/docker-bazarr/blob/master/.github/CONTRIBUTING.md -->
|
||||||
[](https://linuxserver.io)
|
[](https://linuxserver.io)
|
||||||
|
|
||||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||||
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
[](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
|
||||||
[](https://discourse.linuxserver.io "post on our community forum.")
|
[](https://discourse.linuxserver.io "post on our community forum.")
|
||||||
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
||||||
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
[](https://github.com/linuxserver "view the source for all of our repositories.")
|
||||||
|
@ -20,7 +20,7 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
|
||||||
Find us at:
|
Find us at:
|
||||||
|
|
||||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
|
||||||
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
||||||
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
||||||
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
|
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
|
||||||
|
@ -36,18 +36,18 @@ Find us at:
|
||||||
[](https://quay.io/repository/linuxserver.io/bazarr)
|
[](https://quay.io/repository/linuxserver.io/bazarr)
|
||||||
[](https://hub.docker.com/r/linuxserver/bazarr)
|
[](https://hub.docker.com/r/linuxserver/bazarr)
|
||||||
[](https://hub.docker.com/r/linuxserver/bazarr)
|
[](https://hub.docker.com/r/linuxserver/bazarr)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bazarr/job/development/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-bazarr/job/master/)
|
||||||
[](https://ci-tests.linuxserver.io/linuxserver/bazarr/development/index.html)
|
[](https://ci-tests.linuxserver.io/linuxserver/bazarr/latest/index.html)
|
||||||
|
|
||||||
[Bazarr](https://github.com/morpheus65535/bazarr) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.
|
[Bazarr](https://www.bazarr.media/) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you.
|
||||||
|
|
||||||
[](https://github.com/morpheus65535/bazarr)
|
[](https://www.bazarr.media/)
|
||||||
|
|
||||||
## Supported Architectures
|
## Supported Architectures
|
||||||
|
|
||||||
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/).
|
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/bazarr:development` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
Simply pulling `lscr.io/linuxserver/bazarr: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:
|
The architectures supported by this image are:
|
||||||
|
|
||||||
|
@ -57,6 +57,15 @@ The architectures supported by this image are:
|
||||||
| arm64 | ✅ | arm64v8-\<version tag\> |
|
| arm64 | ✅ | arm64v8-\<version tag\> |
|
||||||
| armhf | ❌ | |
|
| armhf | ❌ | |
|
||||||
|
|
||||||
|
## Version Tags
|
||||||
|
|
||||||
|
This image provides various versions that are available via tags. Please read the descriptions carefully and exercise caution when using unstable or development tags.
|
||||||
|
|
||||||
|
| Tag | Available | Description |
|
||||||
|
| :----: | :----: |--- |
|
||||||
|
| latest | ✅ | Stable releases from Bazarr |
|
||||||
|
| development | ✅ | Pre-releases from Bazarr |
|
||||||
|
|
||||||
## Application Setup
|
## Application Setup
|
||||||
|
|
||||||
- Once running the URL will be `http://<host-ip>:6767`.
|
- Once running the URL will be `http://<host-ip>:6767`.
|
||||||
|
@ -83,7 +92,7 @@ To help you get started creating a container from this image you can either use
|
||||||
---
|
---
|
||||||
services:
|
services:
|
||||||
bazarr:
|
bazarr:
|
||||||
image: lscr.io/linuxserver/bazarr:development
|
image: lscr.io/linuxserver/bazarr:latest
|
||||||
container_name: bazarr
|
container_name: bazarr
|
||||||
environment:
|
environment:
|
||||||
- PUID=1000
|
- PUID=1000
|
||||||
|
@ -91,6 +100,8 @@ services:
|
||||||
- TZ=Etc/UTC
|
- TZ=Etc/UTC
|
||||||
volumes:
|
volumes:
|
||||||
- /path/to/bazarr/config:/config
|
- /path/to/bazarr/config:/config
|
||||||
|
- /path/to/movies:/movies #optional
|
||||||
|
- /path/to/tv:/tv #optional
|
||||||
ports:
|
ports:
|
||||||
- 6767:6767
|
- 6767:6767
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
@ -106,8 +117,10 @@ docker run -d \
|
||||||
-e TZ=Etc/UTC \
|
-e TZ=Etc/UTC \
|
||||||
-p 6767:6767 \
|
-p 6767:6767 \
|
||||||
-v /path/to/bazarr/config:/config \
|
-v /path/to/bazarr/config:/config \
|
||||||
|
-v /path/to/movies:/movies `#optional` \
|
||||||
|
-v /path/to/tv:/tv `#optional` \
|
||||||
--restart unless-stopped \
|
--restart unless-stopped \
|
||||||
lscr.io/linuxserver/bazarr:development
|
lscr.io/linuxserver/bazarr:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Parameters
|
## Parameters
|
||||||
|
@ -121,6 +134,8 @@ Containers are configured using parameters passed at runtime (such as those abov
|
||||||
| `-e PGID=1000` | for GroupID - see below for explanation |
|
| `-e PGID=1000` | for GroupID - see below for explanation |
|
||||||
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
|
| `-e TZ=Etc/UTC` | specify a timezone to use, see this [list](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones#List). |
|
||||||
| `-v /config` | Persistent config files |
|
| `-v /config` | Persistent config files |
|
||||||
|
| `-v /movies` | Location of your movies |
|
||||||
|
| `-v /tv` | Location of your TV Shows |
|
||||||
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
|
| `--read-only=true` | Run container with a read-only filesystem. Please [read the docs](https://docs.linuxserver.io/misc/read-only/). |
|
||||||
| `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
|
| `--user=1000:1000` | Run container with a non-root user. Please [read the docs](https://docs.linuxserver.io/misc/non-root/). |
|
||||||
|
|
||||||
|
@ -188,7 +203,7 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
|
||||||
* Image version number:
|
* Image version number:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/bazarr:development
|
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/bazarr:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
## Updating Info
|
## Updating Info
|
||||||
|
@ -236,7 +251,7 @@ Below are the instructions for updating containers:
|
||||||
* Update the image:
|
* Update the image:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker pull lscr.io/linuxserver/bazarr:development
|
docker pull lscr.io/linuxserver/bazarr:latest
|
||||||
```
|
```
|
||||||
|
|
||||||
* Stop the running container:
|
* Stop the running container:
|
||||||
|
@ -273,7 +288,7 @@ cd docker-bazarr
|
||||||
docker build \
|
docker build \
|
||||||
--no-cache \
|
--no-cache \
|
||||||
--pull \
|
--pull \
|
||||||
-t lscr.io/linuxserver/bazarr:development .
|
-t lscr.io/linuxserver/bazarr:latest .
|
||||||
```
|
```
|
||||||
|
|
||||||
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
The ARM variants can be built on x86_64 hardware and vice versa using `lscr.io/linuxserver/qemu-static`
|
||||||
|
@ -287,31 +302,32 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
* **24.12.24:** - Rebase to Alpine 3.21.
|
* **24.12.24:** - Rebase to Alpine 3.21.
|
||||||
* **06.06.24:** - Rebase to Alpine 3.20.
|
* **24.06.24:** - Rebase to Alpine 3.20.
|
||||||
* **23.12.23:** - Rebase to Alpine 3.19.
|
* **23.12.23:** - Rebase to Alpine 3.19.
|
||||||
* **19.09.23:** - Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar).
|
* **19.09.23:** - Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar).
|
||||||
|
* **11.08.23:** - Rebase to Alpine 3.18.
|
||||||
* **10.08.23:** - Bump unrar to 6.2.10.
|
* **10.08.23:** - Bump unrar to 6.2.10.
|
||||||
* **11.07.23:** - Rebase to Alpine 3.18
|
|
||||||
* **04.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)
|
* **04.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)
|
||||||
* **17.02.23:** - Add dependencies for postgres support. Add mediainfo.
|
* **26.02.23:** - Add dependencies for postgres support. Add mediainfo.
|
||||||
* **23.01.23:** - Rebase development branch to Alpine 3.17.
|
* **23.01.23:** - Rebase master branch to Alpine 3.17.
|
||||||
* **11.10.22:** - Rebase development branch to Alpine 3.16, migrate to s6v3.
|
* **11.10.22:** - Rebase master branch to Alpine 3.16, migrate to s6v3.
|
||||||
* **15.11.21:** - Temp fix for lxml on amd64, compile it instead of using official wheel that seems to be broken.
|
* **15.15.21:** - Temp fix for lxml, compile from scratch to avoid broken official wheel.
|
||||||
* **25.10.21:** - Rebase to alpine 3.14. Fix numpy wheel.
|
* **25.10.21:** - Rebase to alpine 3.14. Fix numpy wheel.
|
||||||
* **22.10.21:** - Added openblas package to prevent numpy error.
|
* **22.10.21:** - Added openblas package to prevent numpy error.
|
||||||
* **16.05.21:** - Use wheel index.
|
* **16.05.21:** - Use wheel index.
|
||||||
* **19.04.21:** - Install from release zip.
|
* **19.04.21:** - Install from release zip.
|
||||||
* **07.04.21:** - Move app to /app/bazarr/bin.
|
* **07.04.21:** - Move app to /app/bazarr/bin, add `package_info`.
|
||||||
* **13.03.21:** - Build from Github pre-releases.
|
|
||||||
* **23.01.21:** - Rebasing to alpine 3.13.
|
* **23.01.21:** - Rebasing to alpine 3.13.
|
||||||
* **23.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
|
* **23.01.21:** - Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information.
|
||||||
* **19.12.19:** - Rebasing to alpine 3.12.
|
* **01.06.20:** - Rebasing to alpine 3.12.
|
||||||
* **13.05.20:** - Add donation links for Bazarr to container log.
|
* **13.05.20:** - Add donation links for Bazarr to Github sponsors button and container log.
|
||||||
* **08.04.20:** - Removed /movies and /tv volumes from Dockerfiles.
|
* **08.04.20:** - Removed /movies and /tv volumes from Dockerfiles.
|
||||||
|
* **28.12.19:** - Upgrade to Python 3.
|
||||||
* **19.12.19:** - Rebasing to alpine 3.11.
|
* **19.12.19:** - Rebasing to alpine 3.11.
|
||||||
* **28.06.19:** - Rebasing to alpine 3.10.
|
* **28.06.19:** - Rebasing to alpine 3.10.
|
||||||
* **17.06.19:** - Swap to install deps using maintainers requirements.txt, add ffmpeg for ffprobe.
|
|
||||||
* **13.06.19:** - Add env variable for setting umask.
|
* **13.06.19:** - Add env variable for setting umask.
|
||||||
|
* **12.06.19:** - Swap to install deps using maintainers requirements.txt, add ffmpeg for ffprobe.
|
||||||
|
* **17.04.19:** - Add default UTC timezone if user does not set it.
|
||||||
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||||
* **22.02.19:** - Rebasing to alpine 3.9.
|
* **22.02.19:** - Rebasing to alpine 3.9.
|
||||||
* **11.09.18:** - Initial release.
|
* **11.09.18:** - Initial release.
|
||||||
|
|
|
@ -2,12 +2,12 @@
|
||||||
|
|
||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-bazarr
|
project_name: docker-bazarr
|
||||||
external_type: github_devel
|
external_type: github_stable
|
||||||
release_type: prerelease
|
release_type: stable
|
||||||
release_tag: development
|
release_tag: latest
|
||||||
ls_branch: development
|
ls_branch: master
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- EXT_GIT_BRANCH = 'development'
|
- EXT_GIT_BRANCH = 'master'
|
||||||
- EXT_USER = 'morpheus65535'
|
- EXT_USER = 'morpheus65535'
|
||||||
- EXT_REPO = 'bazarr'
|
- EXT_REPO = 'bazarr'
|
||||||
- BUILD_VERSION_ARG = 'BAZARR_VERSION'
|
- BUILD_VERSION_ARG = 'BAZARR_VERSION'
|
||||||
|
|
|
@ -1,15 +1,14 @@
|
||||||
NAME VERSION TYPE
|
NAME VERSION TYPE
|
||||||
Simple Launcher 1.1.0.14 dotnet (+5 duplicates)
|
|
||||||
acl-libs 2.3.2-r1 apk
|
acl-libs 2.3.2-r1 apk
|
||||||
alembic 1.13.1 python
|
alembic 1.13.1 python
|
||||||
alpine-baselayout 3.6.8-r1 apk
|
alpine-baselayout 3.6.8-r1 apk
|
||||||
alpine-baselayout-data 3.6.8-r1 apk
|
alpine-baselayout-data 3.6.8-r1 apk
|
||||||
alpine-keys 2.5-r0 apk
|
alpine-keys 2.5-r0 apk
|
||||||
alpine-release 3.21.0-r0 apk
|
alpine-release 3.21.3-r0 apk
|
||||||
alsa-lib 1.2.12-r0 apk
|
alsa-lib 1.2.12-r0 apk
|
||||||
aniso8601 9.0.1 python
|
aniso8601 9.0.1 python
|
||||||
aom-libs 3.11.0-r0 apk
|
aom-libs 3.11.0-r0 apk
|
||||||
apk-tools 2.14.6-r2 apk
|
apk-tools 2.14.6-r3 apk
|
||||||
appdirs 1.4.4 python
|
appdirs 1.4.4 python
|
||||||
apprise 1.7.6 python
|
apprise 1.7.6 python
|
||||||
apscheduler 3.10.4 python
|
apscheduler 3.10.4 python
|
||||||
|
@ -25,11 +24,11 @@ beautifulsoup4 4.12.3 python
|
||||||
bidict 0.23.1 python
|
bidict 0.23.1 python
|
||||||
blinker 1.7.0 python
|
blinker 1.7.0 python
|
||||||
brotli-libs 1.1.0-r2 apk
|
brotli-libs 1.1.0-r2 apk
|
||||||
busybox 1.37.0-r9 apk
|
busybox 1.37.0-r12 apk
|
||||||
busybox-binsh 1.37.0-r9 apk
|
busybox-binsh 1.37.0-r12 apk
|
||||||
c-ares 1.34.3-r0 apk
|
c-ares 1.34.5-r0 apk
|
||||||
ca-certificates 20241121-r0 apk
|
ca-certificates 20241121-r1 apk
|
||||||
ca-certificates-bundle 20241121-r0 apk
|
ca-certificates-bundle 20241121-r1 apk
|
||||||
catatonit 0.2.0-r0 apk
|
catatonit 0.2.0-r0 apk
|
||||||
certifi 2024.2.2 python
|
certifi 2024.2.2 python
|
||||||
chardet 5.2.0 python
|
chardet 5.2.0 python
|
||||||
|
@ -39,11 +38,11 @@ click 8.1.7 python
|
||||||
cloudscraper 1.2.58 python
|
cloudscraper 1.2.58 python
|
||||||
colorama 0.4.6 python
|
colorama 0.4.6 python
|
||||||
commonmark 0.9.1 python
|
commonmark 0.9.1 python
|
||||||
coreutils 9.5-r1 apk
|
coreutils 9.5-r2 apk
|
||||||
coreutils-env 9.5-r1 apk
|
coreutils-env 9.5-r2 apk
|
||||||
coreutils-fmt 9.5-r1 apk
|
coreutils-fmt 9.5-r2 apk
|
||||||
coreutils-sha512sum 9.5-r1 apk
|
coreutils-sha512sum 9.5-r2 apk
|
||||||
curl 8.11.1-r0 apk
|
curl 8.12.1-r1 apk
|
||||||
dbus-libs 1.14.10-r4 apk
|
dbus-libs 1.14.10-r4 apk
|
||||||
decorator 5.1.1 python
|
decorator 5.1.1 python
|
||||||
deep-translator 1.11.4 python
|
deep-translator 1.11.4 python
|
||||||
|
@ -78,8 +77,8 @@ ftfy 6.1.3 python
|
||||||
future 1.0.0 python
|
future 1.0.0 python
|
||||||
ga4mp 2.0.4 python
|
ga4mp 2.0.4 python
|
||||||
gdbm 1.24-r0 apk
|
gdbm 1.24-r0 apk
|
||||||
giflib 5.2.2-r0 apk
|
giflib 5.2.2-r1 apk
|
||||||
glib 2.82.4-r0 apk
|
glib 2.82.5-r0 apk
|
||||||
glslang-libs 1.3.296.0-r0 apk
|
glslang-libs 1.3.296.0-r0 apk
|
||||||
graphite2 1.3.14-r6 apk
|
graphite2 1.3.14-r6 apk
|
||||||
guess-language-spirit 0.5.3 python
|
guess-language-spirit 0.5.3 python
|
||||||
|
@ -87,7 +86,7 @@ guessit 3.8.0 python
|
||||||
h11 0.14.0 python
|
h11 0.14.0 python
|
||||||
harfbuzz 9.0.0-r1 apk
|
harfbuzz 9.0.0-r1 apk
|
||||||
html5lib 1.1 python
|
html5lib 1.1 python
|
||||||
hwdata-pci 0.390-r0 apk
|
hwdata-pci 0.393-r0 apk
|
||||||
idna 3.6 python
|
idna 3.6 python
|
||||||
imath 3.1.12-r0 apk
|
imath 3.1.12-r0 apk
|
||||||
importlib-metadata 7.0.1 python
|
importlib-metadata 7.0.1 python
|
||||||
|
@ -112,19 +111,19 @@ libSvtAv1Enc 2.2.1-r0 apk
|
||||||
libass 0.17.3-r0 apk
|
libass 0.17.3-r0 apk
|
||||||
libasyncns 0.8-r4 apk
|
libasyncns 0.8-r4 apk
|
||||||
libattr 2.5.2-r2 apk
|
libattr 2.5.2-r2 apk
|
||||||
libblkid 2.40.2-r4 apk
|
libblkid 2.40.4-r1 apk
|
||||||
libbluray 1.3.4-r1 apk
|
libbluray 1.3.4-r1 apk
|
||||||
libbsd 0.12.2-r0 apk
|
libbsd 0.12.2-r0 apk
|
||||||
libbz2 1.0.8-r6 apk
|
libbz2 1.0.8-r6 apk
|
||||||
libcrypto3 3.3.2-r4 apk
|
libcrypto3 3.3.3-r0 apk
|
||||||
libcurl 8.11.1-r0 apk
|
libcurl 8.12.1-r1 apk
|
||||||
libdav1d 1.5.0-r0 apk
|
libdav1d 1.5.0-r0 apk
|
||||||
libdeflate 1.22-r0 apk
|
libdeflate 1.22-r0 apk
|
||||||
libdovi 3.3.1-r0 apk
|
libdovi 3.3.1-r0 apk
|
||||||
libdrm 2.4.123-r1 apk
|
libdrm 2.4.123-r1 apk
|
||||||
libeconf 0.6.3-r0 apk
|
libeconf 0.6.3-r0 apk
|
||||||
libexpat 2.6.4-r0 apk
|
libexpat 2.7.0-r0 apk
|
||||||
libffi 3.4.6-r0 apk
|
libffi 3.4.7-r0 apk
|
||||||
libflac 1.4.3-r1 apk
|
libflac 1.4.3-r1 apk
|
||||||
libgcc 14.2.0-r4 apk
|
libgcc 14.2.0-r4 apk
|
||||||
libgcrypt 1.10.3-r1 apk
|
libgcrypt 1.10.3-r1 apk
|
||||||
|
@ -134,18 +133,18 @@ libhwy 1.0.7-r0 apk
|
||||||
libidn2 2.3.7-r0 apk
|
libidn2 2.3.7-r0 apk
|
||||||
libintl 0.22.5-r0 apk
|
libintl 0.22.5-r0 apk
|
||||||
libjpeg-turbo 3.0.4-r0 apk
|
libjpeg-turbo 3.0.4-r0 apk
|
||||||
libjxl 0.10.3-r0 apk
|
libjxl 0.10.4-r0 apk
|
||||||
libltdl 2.4.7-r3 apk
|
libltdl 2.4.7-r3 apk
|
||||||
libmd 1.1.0-r0 apk
|
libmd 1.1.0-r0 apk
|
||||||
libmediainfo 24.11-r0 apk
|
libmediainfo 24.11-r0 apk
|
||||||
libmount 2.40.2-r4 apk
|
libmount 2.40.4-r1 apk
|
||||||
libncursesw 6.5_p20241006-r3 apk
|
libncursesw 6.5_p20241006-r3 apk
|
||||||
libogg 1.3.5-r5 apk
|
libogg 1.3.5-r5 apk
|
||||||
libopenmpt 0.7.12-r0 apk
|
libopenmpt 0.7.12-r0 apk
|
||||||
libpanelw 6.5_p20241006-r3 apk
|
libpanelw 6.5_p20241006-r3 apk
|
||||||
libpciaccess 0.18.1-r0 apk
|
libpciaccess 0.18.1-r0 apk
|
||||||
libplacebo 6.338.2-r3 apk
|
libplacebo 6.338.2-r3 apk
|
||||||
libpng 1.6.44-r0 apk
|
libpng 1.6.47-r0 apk
|
||||||
libproc2 4.0.4-r2 apk
|
libproc2 4.0.4-r2 apk
|
||||||
libpsl 0.21.5-r3 apk
|
libpsl 0.21.5-r3 apk
|
||||||
libpulse 17.0-r4 apk
|
libpulse 17.0-r4 apk
|
||||||
|
@ -155,7 +154,7 @@ libsndfile 1.2.2-r2 apk
|
||||||
libsodium 1.0.20-r0 apk
|
libsodium 1.0.20-r0 apk
|
||||||
libsrt 1.5.3-r0 apk
|
libsrt 1.5.3-r0 apk
|
||||||
libssh 0.11.1-r0 apk
|
libssh 0.11.1-r0 apk
|
||||||
libssl3 3.3.2-r4 apk
|
libssl3 3.3.3-r0 apk
|
||||||
libstdc++ 14.2.0-r4 apk
|
libstdc++ 14.2.0-r4 apk
|
||||||
libtheora 1.1.1-r18 apk
|
libtheora 1.1.1-r18 apk
|
||||||
libunibreak 6.1-r0 apk
|
libunibreak 6.1-r0 apk
|
||||||
|
@ -172,8 +171,8 @@ libxcb 1.16.1-r0 apk
|
||||||
libxdmcp 1.1.5-r1 apk
|
libxdmcp 1.1.5-r1 apk
|
||||||
libxext 1.3.6-r2 apk
|
libxext 1.3.6-r2 apk
|
||||||
libxfixes 6.0.1-r4 apk
|
libxfixes 6.0.1-r4 apk
|
||||||
libxml2 2.13.4-r3 apk
|
libxml2 2.13.4-r5 apk
|
||||||
libxslt 1.1.42-r1 apk
|
libxslt 1.1.42-r2 apk
|
||||||
libzen 0.4.41-r0 apk
|
libzen 0.4.41-r0 apk
|
||||||
libzmq 4.3.5-r2 apk
|
libzmq 4.3.5-r2 apk
|
||||||
lilv-libs 0.24.24-r1 apk
|
lilv-libs 0.24.24-r1 apk
|
||||||
|
@ -182,20 +181,20 @@ lxml 4.9.4 python
|
||||||
mako 1.3.2 python
|
mako 1.3.2 python
|
||||||
markdown 3.5.2 python
|
markdown 3.5.2 python
|
||||||
markupsafe 2.1.5 python
|
markupsafe 2.1.5 python
|
||||||
mbedtls 3.6.2-r0 apk
|
mbedtls 3.6.3-r0 apk
|
||||||
mediainfo 24.11-r0 apk
|
mediainfo 24.11-r0 apk
|
||||||
more-itertools 10.3.0 python
|
more-itertools 10.3.0 python
|
||||||
mpdecimal 4.0.0-r0 apk
|
mpdecimal 4.0.0-r0 apk
|
||||||
mpg123-libs 1.32.9-r0 apk
|
mpg123-libs 1.32.9-r0 apk
|
||||||
msgpack 1.0.7 python
|
msgpack 1.0.7 python
|
||||||
musl 1.2.5-r8 apk
|
musl 1.2.5-r9 apk
|
||||||
musl-utils 1.2.5-r8 apk
|
musl-utils 1.2.5-r9 apk
|
||||||
my-test-package 1.0 python
|
my-test-package 1.0 python
|
||||||
ncurses-terminfo-base 6.5_p20241006-r3 apk
|
ncurses-terminfo-base 6.5_p20241006-r3 apk
|
||||||
netcat-openbsd 1.226.1.1-r0 apk
|
netcat-openbsd 1.226.1.1-r0 apk
|
||||||
nghttp2-libs 1.64.0-r0 apk
|
nghttp2-libs 1.64.0-r0 apk
|
||||||
numactl 2.0.18-r0 apk
|
numactl 2.0.18-r0 apk
|
||||||
numpy 2.2.1 python
|
numpy 2.2.5 python
|
||||||
oauthlib 3.2.2 python
|
oauthlib 3.2.2 python
|
||||||
onevpl-libs 2023.3.1-r2 apk
|
onevpl-libs 2023.3.1-r2 apk
|
||||||
oniguruma 6.9.9-r0 apk
|
oniguruma 6.9.9-r0 apk
|
||||||
|
@ -207,13 +206,13 @@ opus 1.5.2-r1 apk
|
||||||
orc 0.4.40-r1 apk
|
orc 0.4.40-r1 apk
|
||||||
packaging 24.2 python
|
packaging 24.2 python
|
||||||
pcre2 10.43-r0 apk
|
pcre2 10.43-r0 apk
|
||||||
pillow 11.1.0 python
|
pillow 11.2.1 python
|
||||||
pip 24.3.1 python
|
pip 25.0.1 python
|
||||||
platformdirs 4.2.0 python
|
platformdirs 4.2.0 python
|
||||||
platformdirs 4.2.2 python
|
platformdirs 4.2.2 python
|
||||||
procps-ng 4.0.4-r2 apk
|
procps-ng 4.0.4-r2 apk
|
||||||
psycopg2-binary 2.9.10 python
|
psycopg2-binary 2.9.10 python
|
||||||
pyc 3.12.8-r1 apk
|
pyc 3.12.10-r0 apk
|
||||||
pycountry 23.12.11 python
|
pycountry 23.12.11 python
|
||||||
pydantic 1.10.14 python
|
pydantic 1.10.14 python
|
||||||
pygments 2.17.2 python
|
pygments 2.17.2 python
|
||||||
|
@ -228,9 +227,9 @@ python-anticaptcha 1.0.0 python
|
||||||
python-dateutil 2.8.2 python
|
python-dateutil 2.8.2 python
|
||||||
python-engineio 4.9.0 python
|
python-engineio 4.9.0 python
|
||||||
python-socketio 5.11.1 python
|
python-socketio 5.11.1 python
|
||||||
python3 3.12.8-r1 apk
|
python3 3.12.10-r0 apk
|
||||||
python3-pyc 3.12.8-r1 apk
|
python3-pyc 3.12.10-r0 apk
|
||||||
python3-pycache-pyc0 3.12.8-r1 apk
|
python3-pycache-pyc0 3.12.10-r0 apk
|
||||||
pytz 2024.1 python
|
pytz 2024.1 python
|
||||||
pytz-deprecation-shim 0.1.0.post0 python
|
pytz-deprecation-shim 0.1.0.post0 python
|
||||||
pyyaml 6.0.1 python
|
pyyaml 6.0.1 python
|
||||||
|
@ -248,7 +247,7 @@ scanelf 1.3.8-r1 apk
|
||||||
sdl2 2.30.9-r0 apk
|
sdl2 2.30.9-r0 apk
|
||||||
semver 3.0.2 python
|
semver 3.0.2 python
|
||||||
serd-libs 0.32.2-r0 apk
|
serd-libs 0.32.2-r0 apk
|
||||||
setuptools 75.7.0 python
|
setuptools 79.0.0 python
|
||||||
shaderc 2024.0-r2 apk
|
shaderc 2024.0-r2 apk
|
||||||
shadow 4.16.0-r1 apk
|
shadow 4.16.0-r1 apk
|
||||||
signalrcore 0.9.5 python
|
signalrcore 0.9.5 python
|
||||||
|
@ -259,12 +258,12 @@ sord-libs 0.16.16-r0 apk
|
||||||
soupsieve 2.3.2.post1 python
|
soupsieve 2.3.2.post1 python
|
||||||
soxr 0.1.3-r7 apk
|
soxr 0.1.3-r7 apk
|
||||||
speexdsp 1.2.1-r2 apk
|
speexdsp 1.2.1-r2 apk
|
||||||
spirv-tools 1.3.290.0-r0 apk
|
spirv-tools 1.3.296.0-r0 apk
|
||||||
sqlalchemy 2.0.27 python
|
sqlalchemy 2.0.27 python
|
||||||
sqlite-libs 3.47.1-r0 apk
|
sqlite-libs 3.48.0-r1 apk
|
||||||
sratom 0.6.16-r0 apk
|
sratom 0.6.16-r0 apk
|
||||||
srt 3.5.3 python
|
srt 3.5.3 python
|
||||||
ssl_client 1.37.0-r9 apk
|
ssl_client 1.37.0-r12 apk
|
||||||
stevedore 5.2.0 python
|
stevedore 5.2.0 python
|
||||||
tdb-libs 1.4.12-r0 apk
|
tdb-libs 1.4.12-r0 apk
|
||||||
textdistance 4.6.2 python
|
textdistance 4.6.2 python
|
||||||
|
@ -277,7 +276,7 @@ typeguard 4.3.0 python
|
||||||
typing-extensions 4.10.0 python
|
typing-extensions 4.10.0 python
|
||||||
typing-extensions 4.12.2 python
|
typing-extensions 4.12.2 python
|
||||||
tzdata 2024.1 python
|
tzdata 2024.1 python
|
||||||
tzdata 2024b-r1 apk
|
tzdata 2025b-r0 apk
|
||||||
tzlocal 5.2 python
|
tzlocal 5.2 python
|
||||||
unidecode 1.3.8 python
|
unidecode 1.3.8 python
|
||||||
urllib3 2.2.1 python
|
urllib3 2.2.1 python
|
||||||
|
@ -292,14 +291,13 @@ webencodings 0.5.1 python
|
||||||
webrtcvad-wheels 2.0.14 python
|
webrtcvad-wheels 2.0.14 python
|
||||||
websocket-client 1.7.0 python
|
websocket-client 1.7.0 python
|
||||||
werkzeug 3.0.1 python
|
werkzeug 3.0.1 python
|
||||||
wheel 0.43.0 python
|
wheel 0.45.1 python (+1 duplicate)
|
||||||
wheel 0.45.1 python
|
|
||||||
whichcraft 0.6.1 python
|
whichcraft 0.6.1 python
|
||||||
wsproto 1.2.0 python
|
wsproto 1.2.0 python
|
||||||
x264-libs 0.164.3108-r0 apk
|
x264-libs 0.164.3108-r0 apk
|
||||||
x265-libs 3.6-r0 apk
|
x265-libs 3.6-r0 apk
|
||||||
xvidcore 1.3.7-r2 apk
|
xvidcore 1.3.7-r2 apk
|
||||||
xz-libs 5.6.3-r0 apk
|
xz-libs 5.6.3-r1 apk
|
||||||
zimg 3.0.5-r2 apk
|
zimg 3.0.5-r2 apk
|
||||||
zipp 3.17.0 python
|
zipp 3.17.0 python
|
||||||
zipp 3.19.2 python
|
zipp 3.19.2 python
|
||||||
|
|
|
@ -2,14 +2,19 @@
|
||||||
|
|
||||||
# project information
|
# project information
|
||||||
project_name: bazarr
|
project_name: bazarr
|
||||||
project_url: "https://github.com/morpheus65535/bazarr"
|
project_url: "https://www.bazarr.media/"
|
||||||
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png"
|
project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/bazarr.png"
|
||||||
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you."
|
project_blurb: "[{{ project_name|capitalize }}]({{ project_url }}) is a companion application to Sonarr and Radarr. It can manage and download subtitles based on your requirements. You define your preferences by TV show or movie and Bazarr takes care of everything for you."
|
||||||
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||||
|
project_categories: "Media Management"
|
||||||
# supported architectures
|
# supported architectures
|
||||||
available_architectures:
|
available_architectures:
|
||||||
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||||
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||||
|
development_versions: true
|
||||||
|
development_versions_items:
|
||||||
|
- {tag: "latest", desc: "Stable releases from Bazarr"}
|
||||||
|
- {tag: "development", desc: "Pre-releases from Bazarr"}
|
||||||
# container parameters
|
# container parameters
|
||||||
param_container_name: "{{ project_name }}"
|
param_container_name: "{{ project_name }}"
|
||||||
param_usage_include_vols: true
|
param_usage_include_vols: true
|
||||||
|
@ -18,6 +23,10 @@ param_volumes:
|
||||||
param_usage_include_ports: true
|
param_usage_include_ports: true
|
||||||
param_ports:
|
param_ports:
|
||||||
- {external_port: "6767", internal_port: "6767", port_desc: "Allows HTTP access to the internal webserver."}
|
- {external_port: "6767", internal_port: "6767", port_desc: "Allows HTTP access to the internal webserver."}
|
||||||
|
opt_param_usage_include_vols: true
|
||||||
|
opt_param_volumes:
|
||||||
|
- {vol_path: "/movies", vol_host_path: "/path/to/movies", desc: "Location of your movies"}
|
||||||
|
- {vol_path: "/tv", vol_host_path: "/path/to/tv", desc: "Location of your TV Shows"}
|
||||||
readonly_supported: true
|
readonly_supported: true
|
||||||
nonroot_supported: true
|
nonroot_supported: true
|
||||||
# application setup block
|
# application setup block
|
||||||
|
@ -27,7 +36,7 @@ app_setup_block: |
|
||||||
- You must complete all the setup parameters in the webui before you can save the config.
|
- You must complete all the setup parameters in the webui before you can save the config.
|
||||||
# init diagram
|
# init diagram
|
||||||
init_diagram: |
|
init_diagram: |
|
||||||
"bazarr:development": {
|
"bazarr:latest": {
|
||||||
docker-mods
|
docker-mods
|
||||||
base {
|
base {
|
||||||
fix-attr +\nlegacy cont-init
|
fix-attr +\nlegacy cont-init
|
||||||
|
@ -63,35 +72,36 @@ init_diagram: |
|
||||||
Base Images: {
|
Base Images: {
|
||||||
"baseimage-alpine:3.21"
|
"baseimage-alpine:3.21"
|
||||||
}
|
}
|
||||||
"bazarr:development" <- Base Images
|
"bazarr:latest" <- Base Images
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
- {date: "24.12.24:", desc: "Rebase to Alpine 3.21."}
|
- {date: "24.12.24:", desc: "Rebase to Alpine 3.21."}
|
||||||
- {date: "06.06.24:", desc: "Rebase to Alpine 3.20."}
|
- {date: "24.06.24:", desc: "Rebase to Alpine 3.20."}
|
||||||
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19."}
|
- {date: "23.12.23:", desc: "Rebase to Alpine 3.19."}
|
||||||
- {date: "19.09.23:", desc: "Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar)."}
|
- {date: "19.09.23:", desc: "Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar)."}
|
||||||
|
- {date: "11.08.23:", desc: "Rebase to Alpine 3.18."}
|
||||||
- {date: "10.08.23:", desc: "Bump unrar to 6.2.10."}
|
- {date: "10.08.23:", desc: "Bump unrar to 6.2.10."}
|
||||||
- {date: "11.07.23:", desc: "Rebase to Alpine 3.18"}
|
|
||||||
- {date: "04.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"}
|
- {date: "04.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"}
|
||||||
- {date: "17.02.23:", desc: "Add dependencies for postgres support. Add mediainfo."}
|
- {date: "26.02.23:", desc: "Add dependencies for postgres support. Add mediainfo."}
|
||||||
- {date: "23.01.23:", desc: "Rebase development branch to Alpine 3.17."}
|
- {date: "23.01.23:", desc: "Rebase master branch to Alpine 3.17."}
|
||||||
- {date: "11.10.22:", desc: "Rebase development branch to Alpine 3.16, migrate to s6v3."}
|
- {date: "11.10.22:", desc: "Rebase master branch to Alpine 3.16, migrate to s6v3."}
|
||||||
- {date: "15.11.21:", desc: "Temp fix for lxml on amd64, compile it instead of using official wheel that seems to be broken."}
|
- {date: "15.15.21:", desc: "Temp fix for lxml, compile from scratch to avoid broken official wheel."}
|
||||||
- {date: "25.10.21:", desc: "Rebase to alpine 3.14. Fix numpy wheel."}
|
- {date: "25.10.21:", desc: "Rebase to alpine 3.14. Fix numpy wheel."}
|
||||||
- {date: "22.10.21:", desc: "Added openblas package to prevent numpy error."}
|
- {date: "22.10.21:", desc: "Added openblas package to prevent numpy error."}
|
||||||
- {date: "16.05.21:", desc: "Use wheel index."}
|
- {date: "16.05.21:", desc: "Use wheel index."}
|
||||||
- {date: "19.04.21:", desc: "Install from release zip."}
|
- {date: "19.04.21:", desc: "Install from release zip."}
|
||||||
- {date: "07.04.21:", desc: "Move app to /app/bazarr/bin."}
|
- {date: "07.04.21:", desc: "Move app to /app/bazarr/bin, add `package_info`."}
|
||||||
- {date: "13.03.21:", desc: "Build from Github pre-releases."}
|
|
||||||
- {date: "23.01.21:", desc: "Rebasing to alpine 3.13."}
|
- {date: "23.01.21:", desc: "Rebasing to alpine 3.13."}
|
||||||
- {date: "23.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information."}
|
- {date: "23.01.21:", desc: "Deprecate `UMASK_SET` in favor of UMASK in baseimage, see above for more information."}
|
||||||
- {date: "19.12.19:", desc: "Rebasing to alpine 3.12."}
|
- {date: "01.06.20:", desc: "Rebasing to alpine 3.12."}
|
||||||
- {date: "13.05.20:", desc: "Add donation links for Bazarr to container log."}
|
- {date: "13.05.20:", desc: "Add donation links for Bazarr to Github sponsors button and container log."}
|
||||||
- {date: "08.04.20:", desc: "Removed /movies and /tv volumes from Dockerfiles."}
|
- {date: "08.04.20:", desc: "Removed /movies and /tv volumes from Dockerfiles."}
|
||||||
|
- {date: "28.12.19:", desc: "Upgrade to Python 3."}
|
||||||
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."}
|
- {date: "19.12.19:", desc: "Rebasing to alpine 3.11."}
|
||||||
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."}
|
- {date: "28.06.19:", desc: "Rebasing to alpine 3.10."}
|
||||||
- {date: "17.06.19:", desc: "Swap to install deps using maintainers requirements.txt, add ffmpeg for ffprobe."}
|
|
||||||
- {date: "13.06.19:", desc: "Add env variable for setting umask."}
|
- {date: "13.06.19:", desc: "Add env variable for setting umask."}
|
||||||
|
- {date: "12.06.19:", desc: "Swap to install deps using maintainers requirements.txt, add ffmpeg for ffprobe."}
|
||||||
|
- {date: "17.04.19:", desc: "Add default UTC timezone if user does not set it."}
|
||||||
- {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: "22.02.19:", desc: "Rebasing to alpine 3.9."}
|
- {date: "22.02.19:", desc: "Rebasing to alpine 3.9."}
|
||||||
- {date: "11.09.18:", desc: "Initial release."}
|
- {date: "11.09.18:", desc: "Initial release."}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue