Compare commits
194
Commits
dev
..
v5.1.6-ls90
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b64d9d5fd0 | ||
|
|
9f4b739207 | ||
|
|
bfd574eaaa | ||
|
|
62996786b7 | ||
|
|
801b26b6be | ||
|
|
66dbf2e291 | ||
|
|
859a961aef | ||
|
|
feae8c9c2c | ||
|
|
eaffe4b67e | ||
|
|
c679e937a4 | ||
|
|
2b824353ab | ||
|
|
bf95f6fad1 | ||
|
|
2928a9bc45 | ||
|
|
cb64ea1ecb | ||
|
|
b6a173206b | ||
|
|
d18b68f2cd | ||
|
|
85291464da | ||
|
|
8b22913b36 | ||
|
|
30157c96e4 | ||
|
|
dbd196dc18 | ||
|
|
f9a45f37bd | ||
|
|
752d12f885 | ||
|
|
9d89905c76 | ||
|
|
afa6db5a34 | ||
|
|
78234f8be4 | ||
|
|
ae8ba32b25 | ||
|
|
cb6a14fb85 | ||
|
|
4a8302c476 | ||
|
|
59fbbfb00f | ||
|
|
ae45e51456 | ||
|
|
488c3d753b | ||
|
|
15d605e28e | ||
|
|
aa03f548a5 | ||
|
|
db1470ece5 | ||
|
|
a9e1eb7d11 | ||
|
|
960567783d | ||
|
|
912f641450 | ||
|
|
d303b1317d | ||
|
|
ae293c8880 | ||
|
|
9cb3faadc0 | ||
|
|
2cfd46dce1 | ||
|
|
8a8449cda9 | ||
|
|
e0bef831ec | ||
|
|
3cbf033cf1 | ||
|
|
3bf2b651d6 | ||
|
|
5a98a3bcbd | ||
|
|
c9e8989885 | ||
|
|
66f045a0c5 | ||
|
|
a90bd77819 | ||
|
|
cb00838aea | ||
|
|
f586c1dee2 | ||
|
|
b1c06b0294 | ||
|
|
ce10c95f67 | ||
|
|
f835e0b7f8 | ||
|
|
478ee950c0 | ||
|
|
237b285c89 | ||
|
|
5d59540d6c | ||
|
|
85cf6f780f | ||
|
|
ddc0e9ce0e | ||
|
|
92365cf2de | ||
|
|
aece1a8937 | ||
|
|
88bb318d56 | ||
|
|
f320f05cd6 | ||
|
|
a24bb0d8b9 | ||
|
|
400f4c26f1 | ||
|
|
cd2552ce2a | ||
|
|
da5b2c50fd | ||
|
|
103ffb7d12 | ||
|
|
aa15c8682b | ||
|
|
f2f8e6f9b1 | ||
|
|
cd08ffb2b5 | ||
|
|
e96ef6d848 | ||
|
|
72ba61fc54 | ||
|
|
9910f5f282 | ||
|
|
a530f53059 | ||
|
|
7e9080c059 | ||
|
|
4d2142ccdc | ||
|
|
d98cc96b44 | ||
|
|
520d0fce6a | ||
|
|
c7ca960685 | ||
|
|
678022a72e | ||
|
|
3f6d309d80 | ||
|
|
43c1c77dfd | ||
|
|
534b9a7a88 | ||
|
|
17aec3dbf1 | ||
|
|
a71046d34c | ||
|
|
3b09082ce2 | ||
|
|
aefefc88aa | ||
|
|
8bc3c18128 | ||
|
|
718fdfd0ec | ||
|
|
d792d2d323 | ||
|
|
368b3df136 | ||
|
|
bc9b601144 | ||
|
|
d680a9d0e2 | ||
|
|
25b0fd8606 | ||
|
|
4b87c04fac | ||
|
|
6eafd96f2f | ||
|
|
b21bdec711 | ||
|
|
b5736bb12a | ||
|
|
b3601ffc01 | ||
|
|
02dc6a16fa | ||
|
|
f4dbddeb4b | ||
|
|
e47e79801b | ||
|
|
46d7e3a221 | ||
|
|
34fb5897af | ||
|
|
1cd8c66131 | ||
|
|
262fad1c50 | ||
|
|
e9bbad1193 | ||
|
|
404ab4b551 | ||
|
|
99f2f154d5 | ||
|
|
92546ff830 | ||
|
|
e50d6cae43 | ||
|
|
ceb192e9e4 | ||
|
|
6bc404ce26 | ||
|
|
e512705769 | ||
|
|
719c7f7363 | ||
|
|
3fd2c6f545 | ||
|
|
68a50f9a6b | ||
|
|
ebea843010 | ||
|
|
87ca0c66d5 | ||
|
|
1d53de44f0 | ||
|
|
b803ecca4d | ||
|
|
763a1bbebf | ||
|
|
9b1fef364b | ||
|
|
dcedab9ee6 | ||
|
|
5fa2e3c7c2 | ||
|
|
7b9330fa99 | ||
|
|
973ce9335e | ||
|
|
b4f7614677 | ||
|
|
5eaa88e5d6 | ||
|
|
bd6136e12f | ||
|
|
32953e5ed2 | ||
|
|
273077ddd7 | ||
|
|
63f815bf25 | ||
|
|
8333572eae | ||
|
|
66baf5fd4e | ||
|
|
faf6fcd9b3 | ||
|
|
ccdbc0d1fc | ||
|
|
8b4c553f3d | ||
|
|
be04065f0e | ||
|
|
fdb433e87f | ||
|
|
215efd2683 | ||
|
|
fe43937cdf | ||
|
|
a50098880d | ||
|
|
58ff104718 | ||
|
|
21a878c5bd | ||
|
|
85bf67cb5f | ||
|
|
c7fae073c6 | ||
|
|
758ccc1e9a | ||
|
|
6c170cc8bf | ||
|
|
c344c0e7bb | ||
|
|
03bb57a915 | ||
|
|
368e3c2828 | ||
|
|
4ce6db323d | ||
|
|
72aee7d2df | ||
|
|
2a8b9fb145 | ||
|
|
4ed02aba6d | ||
|
|
1d213f19e8 | ||
|
|
f12a86f620 | ||
|
|
56f374f59a | ||
|
|
bd63218ebe | ||
|
|
6265517e19 | ||
|
|
7f13e9c443 | ||
|
|
d926aee5e3 | ||
|
|
5ac25f7d08 | ||
|
|
3286b4d1fc | ||
|
|
f92bbc6011 | ||
|
|
7aeb6a3e34 | ||
|
|
421e722315 | ||
|
|
3c1cdfbb66 | ||
|
|
98893cebc9 | ||
|
|
f4b889dc7c | ||
|
|
b612cd22f0 | ||
|
|
053b1ba5a8 | ||
|
|
ef3efdc5bc | ||
|
|
55a4c014f3 | ||
|
|
6add88a07a | ||
|
|
d79b2c963a | ||
|
|
6de658a24b | ||
|
|
c514b9c7ff | ||
|
|
6e73b38915 | ||
|
|
8fb719df38 | ||
|
|
f7951c52ef | ||
|
|
27f878f932 | ||
|
|
87041b87f8 | ||
|
|
1281cb7048 | ||
|
|
d59e06317d | ||
|
|
5df31b5700 | ||
|
|
fcb52a9093 | ||
|
|
501d213242 | ||
|
|
d659263231 | ||
|
|
b34e11688a | ||
|
|
dbf0b36f49 | ||
|
|
476d98f2e3 |
@@ -6,7 +6,7 @@
|
||||
* 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 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://linuxserver.io/discord)
|
||||
* 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)
|
||||
|
||||
## Common files
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
## Readme
|
||||
|
||||
If you would like to change our readme, please __**do not**__ directly edit the readme, as it is auto-generated on each commit.
|
||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-nzbhydra2/edit/dev/readme-vars.yml).
|
||||
Instead edit the [readme-vars.yml](https://github.com/linuxserver/docker-nzbhydra2/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.
|
||||
Most of these variables are also carried over to [docs.linuxserver.io](https://docs.linuxserver.io/images/docker-nzbhydra2)
|
||||
@@ -105,17 +105,17 @@ docker build \
|
||||
-t linuxserver/nzbhydra2: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 using `multiarch/qemu-user-static`
|
||||
|
||||
```bash
|
||||
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
```
|
||||
|
||||
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
|
||||
|
||||
## Update the changelog
|
||||
|
||||
If you are modifying the Dockerfiles or any of the startup scripts in [root](https://github.com/linuxserver/docker-nzbhydra2/tree/dev/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-nzbhydra2/tree/master/root), add an entry to the changelog
|
||||
|
||||
```yml
|
||||
changelogs:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: Discord chat support
|
||||
url: https://linuxserver.io/discord
|
||||
url: https://discord.gg/YWrKVTn
|
||||
about: Realtime support / chat with the community and the team.
|
||||
|
||||
- name: Discourse discussion forum
|
||||
|
||||
@@ -53,6 +53,7 @@ body:
|
||||
options:
|
||||
- x86-64
|
||||
- arm64
|
||||
- armhf
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
@@ -67,10 +68,10 @@ body:
|
||||
- type: textarea
|
||||
attributes:
|
||||
description: |
|
||||
Provide a full docker log, output of "docker logs nzbhydra2"
|
||||
Provide a full docker log, output of "docker logs linuxserver.io"
|
||||
label: Container logs
|
||||
placeholder: |
|
||||
Output of `docker logs nzbhydra2`
|
||||
Output of `docker logs linuxserver.io`
|
||||
render: bash
|
||||
validations:
|
||||
required: true
|
||||
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
------------------------------
|
||||
|
||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-nzbhydra2/blob/dev/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-nzbhydra2/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
|
||||
|
||||
------------------------------
|
||||
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
name: Comment on invalid interaction
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
jobs:
|
||||
add-comment-on-invalid:
|
||||
if: github.event.label.name == 'invalid'
|
||||
permissions:
|
||||
issues: write
|
||||
uses: linuxserver/github-workflows/.github/workflows/invalid-interaction-helper.yml@v1
|
||||
secrets: inherit
|
||||
@@ -1,19 +0,0 @@
|
||||
name: Issue & PR Tracker
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened,reopened,labeled,unlabeled,closed]
|
||||
pull_request_target:
|
||||
types: [opened,reopened,review_requested,review_request_removed,labeled,unlabeled,closed]
|
||||
pull_request_review:
|
||||
types: [submitted,edited,dismissed]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
manage-project:
|
||||
permissions:
|
||||
issues: write
|
||||
uses: linuxserver/github-workflows/.github/workflows/issue-pr-tracker.yml@v1
|
||||
secrets: inherit
|
||||
@@ -1,16 +0,0 @@
|
||||
name: Mark stale issues and pull requests
|
||||
on:
|
||||
schedule:
|
||||
- cron: '15 8 * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
uses: linuxserver/github-workflows/.github/workflows/issues-cron.yml@v1
|
||||
secrets: inherit
|
||||
@@ -3,86 +3,49 @@ name: External Trigger Main
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
external-trigger-dev:
|
||||
external-trigger-master:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: External Trigger
|
||||
if: github.ref == 'refs/heads/dev'
|
||||
env:
|
||||
SKIP_EXTERNAL_TRIGGER: ${{ vars.SKIP_EXTERNAL_TRIGGER }}
|
||||
if: github.ref == 'refs/heads/master'
|
||||
run: |
|
||||
printf "# External trigger for docker-nzbhydra2\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^nzbhydra2_dev_" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nzbhydra2_dev_\`; will skip trigger if version matches." >> $GITHUB_STEP_SUMMARY
|
||||
elif grep -q "^nzbhydra2_dev" <<< "${SKIP_EXTERNAL_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_EXTERNAL_TRIGGER\` contains \`nzbhydra2_dev\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
exit 0
|
||||
fi
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> External trigger running off of dev branch. To disable this trigger, add \`nzbhydra2_dev\` into the Github organizational variable \`SKIP_EXTERNAL_TRIGGER\`." >> $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/theotherp/nzbhydra2/releases" | jq -r '.[0] | .tag_name')
|
||||
echo "Type is \`github_devel\`" >> $GITHUB_STEP_SUMMARY
|
||||
if grep -q "^nzbhydra2_dev_${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
|
||||
if [ -n "${{ secrets.PAUSE_EXTERNAL_TRIGGER_NZBHYDRA2_MASTER }}" ]; then
|
||||
echo "**** Github secret PAUSE_EXTERNAL_TRIGGER_NZBHYDRA2_MASTER is set; skipping trigger. ****"
|
||||
exit 0
|
||||
fi
|
||||
echo "**** External trigger running off of master branch. To disable this trigger, set a Github secret named \"PAUSE_EXTERNAL_TRIGGER_NZBHYDRA2_MASTER\". ****"
|
||||
echo "**** Retrieving external version ****"
|
||||
EXT_RELEASE=$(curl -u "${{ secrets.CR_USER }}:${{ secrets.CR_PAT }}" -sX GET "https://api.github.com/repos/theotherp/nzbhydra2/releases/latest" | jq -r '. | .tag_name')
|
||||
if [ -z "${EXT_RELEASE}" ] || [ "${EXT_RELEASE}" == "null" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Can't retrieve external version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="Can't retrieve external version for nzbhydra2 branch dev"
|
||||
echo "**** Can't retrieve external version, exiting ****"
|
||||
FAILURE_REASON="Can't retrieve external version for nzbhydra2 branch master"
|
||||
GHA_TRIGGER_URL="https://github.com/linuxserver/docker-nzbhydra2/actions/runs/${{ github.run_id }}"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n**Trigger URL:** '"${GHA_TRIGGER_URL}"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
exit 1
|
||||
fi
|
||||
EXT_RELEASE_SANITIZED=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
|
||||
echo "Sanitized external version: \`${EXT_RELEASE_SANITIZED}\`" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Retrieving last pushed version" >> $GITHUB_STEP_SUMMARY
|
||||
EXT_RELEASE=$(echo ${EXT_RELEASE} | sed 's/[~,%@+;:/]//g')
|
||||
echo "**** External version: ${EXT_RELEASE} ****"
|
||||
echo "**** Retrieving last pushed version ****"
|
||||
image="linuxserver/nzbhydra2"
|
||||
tag="dev"
|
||||
tag="latest"
|
||||
token=$(curl -sX GET \
|
||||
"https://ghcr.io/token?scope=repository%3Alinuxserver%2Fnzbhydra2%3Apull" \
|
||||
| jq -r '.token')
|
||||
multidigest=$(curl -s \
|
||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||
--header "Accept: application/vnd.oci.image.index.v1+json" \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/${image}/manifests/${tag}")
|
||||
if jq -e '.layers // empty' <<< "${multidigest}" >/dev/null 2>&1; then
|
||||
# If there's a layer element it's a single-arch manifest so just get that digest
|
||||
digest=$(jq -r '.config.digest' <<< "${multidigest}")
|
||||
else
|
||||
# Otherwise it's multi-arch or has manifest annotations
|
||||
if jq -e '.manifests[]?.annotations // empty' <<< "${multidigest}" >/dev/null 2>&1; then
|
||||
# Check for manifest annotations and delete if found
|
||||
multidigest=$(jq 'del(.manifests[] | select(.annotations))' <<< "${multidigest}")
|
||||
fi
|
||||
if [[ $(jq '.manifests | length' <<< "${multidigest}") -gt 1 ]]; then
|
||||
# If there's still more than one digest, it's multi-arch
|
||||
multidigest=$(jq -r ".manifests[] | select(.platform.architecture == \"amd64\").digest?" <<< "${multidigest}")
|
||||
else
|
||||
# Otherwise it's single arch
|
||||
multidigest=$(jq -r ".manifests[].digest?" <<< "${multidigest}")
|
||||
fi
|
||||
if digest=$(curl -s \
|
||||
multidigest=$(curl -s \
|
||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||
--header "Accept: application/vnd.oci.image.manifest.v1+json" \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/${image}/manifests/${multidigest}"); then
|
||||
digest=$(jq -r '.config.digest' <<< "${digest}");
|
||||
fi
|
||||
fi
|
||||
"https://ghcr.io/v2/${image}/manifests/${tag}" \
|
||||
| jq -r 'first(.manifests[].digest)')
|
||||
digest=$(curl -s \
|
||||
--header "Accept: application/vnd.docker.distribution.manifest.v2+json" \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/${image}/manifests/${multidigest}" \
|
||||
| jq -r '.config.digest')
|
||||
image_info=$(curl -sL \
|
||||
--header "Authorization: Bearer ${token}" \
|
||||
"https://ghcr.io/v2/${image}/blobs/${digest}")
|
||||
@@ -94,54 +57,40 @@ jobs:
|
||||
IMAGE_RELEASE=$(echo ${image_info} | jq -r '.Labels.build_version' | awk '{print $3}')
|
||||
IMAGE_VERSION=$(echo ${IMAGE_RELEASE} | awk -F'-ls' '{print $1}')
|
||||
if [ -z "${IMAGE_VERSION}" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Can't retrieve last pushed version, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="Can't retrieve last pushed version for nzbhydra2 tag dev"
|
||||
echo "**** Can't retrieve last pushed version, exiting ****"
|
||||
FAILURE_REASON="Can't retrieve last pushed version for nzbhydra2 tag latest"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 16711680,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
exit 1
|
||||
fi
|
||||
echo "Last pushed version: \`${IMAGE_VERSION}\`" >> $GITHUB_STEP_SUMMARY
|
||||
if [ "${EXT_RELEASE_SANITIZED}" == "${IMAGE_VERSION}" ]; then
|
||||
echo "Sanitized version \`${EXT_RELEASE_SANITIZED}\` already pushed, exiting" >> $GITHUB_STEP_SUMMARY
|
||||
echo "**** Last pushed version: ${IMAGE_VERSION} ****"
|
||||
if [ "${EXT_RELEASE}" == "${IMAGE_VERSION}" ]; then
|
||||
echo "**** Version ${EXT_RELEASE} already pushed, exiting ****"
|
||||
exit 0
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/dev/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
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/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 ****"
|
||||
exit 0
|
||||
else
|
||||
if [[ "${artifacts_found}" == "false" ]]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> New version detected, but not all artifacts are published yet; skipping trigger" >> $GITHUB_STEP_SUMMARY
|
||||
FAILURE_REASON="New version ${EXT_RELEASE} for nzbhydra2 tag dev is detected, however not all artifacts are uploaded to upstream release yet. Will try again later."
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Trigger Failed** \n**Reason:** '"${FAILURE_REASON}"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
else
|
||||
printf "\n## Trigger new build\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
echo "New sanitized version \`${EXT_RELEASE_SANITIZED}\` found; old version was \`${IMAGE_VERSION}\`. Triggering new build" >> $GITHUB_STEP_SUMMARY
|
||||
if [[ "${artifacts_found}" == "true" ]]; then
|
||||
echo "All artifacts seem to be uploaded." >> $GITHUB_STEP_SUMMARY
|
||||
fi
|
||||
response=$(curl -iX POST \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/dev/buildWithParameters?PACKAGE_CHECK=false \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
||||
sleep 10
|
||||
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
|
||||
buildurl="${buildurl%$'\r'}"
|
||||
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
|
||||
curl -iX POST \
|
||||
"${buildurl}submitDescription" \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
|
||||
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
||||
--data-urlencode "Submit=Submit"
|
||||
echo "**** Notifying Discord ****"
|
||||
TRIGGER_REASON="A version change was detected for nzbhydra2 tag dev. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE_SANITIZED}"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
fi
|
||||
echo "**** New version ${EXT_RELEASE} found; old version was ${IMAGE_VERSION}. Triggering new build ****"
|
||||
response=$(curl -iX POST \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/master/buildWithParameters?PACKAGE_CHECK=false \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
||||
echo "**** Sleeping 10 seconds until job starts ****"
|
||||
sleep 10
|
||||
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
|
||||
buildurl="${buildurl%$'\r'}"
|
||||
echo "**** Jenkins job build url: ${buildurl} ****"
|
||||
echo "**** Attempting to change the Jenkins job description ****"
|
||||
curl -iX POST \
|
||||
"${buildurl}submitDescription" \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
|
||||
--data-urlencode "description=GHA external trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
||||
--data-urlencode "Submit=Submit"
|
||||
echo "**** Notifying Discord ****"
|
||||
TRIGGER_REASON="A version change was detected for nzbhydra2 tag latest. Old version:${IMAGE_VERSION} New version:${EXT_RELEASE}"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Build Triggered** \n**Reason:** '"${TRIGGER_REASON}"' \n**Build URL:** '"${buildurl}display/redirect"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
fi
|
||||
|
||||
@@ -2,47 +2,42 @@ name: External Trigger Scheduler
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '37 * * * *'
|
||||
- cron: '03 * * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
external-trigger-scheduler:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v3.1.0
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
|
||||
- name: External Trigger Scheduler
|
||||
run: |
|
||||
printf "# External trigger scheduler for docker-nzbhydra2\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
|
||||
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
|
||||
echo "**** Branches found: ****"
|
||||
git for-each-ref --format='%(refname:short)' refs/remotes
|
||||
echo "**** Pulling the yq docker image ****"
|
||||
docker pull ghcr.io/linuxserver/yq
|
||||
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
|
||||
do
|
||||
if [[ "${br}" == "HEAD" ]]; then
|
||||
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
|
||||
continue
|
||||
fi
|
||||
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
|
||||
ls_jenkins_vars=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/jenkins-vars.yml)
|
||||
ls_branch=$(echo "${ls_jenkins_vars}" | yq -r '.ls_branch')
|
||||
ls_trigger=$(echo "${ls_jenkins_vars}" | yq -r '.external_type')
|
||||
if [[ "${br}" == "${ls_branch}" ]] && [[ "${ls_trigger}" != "os" ]]; then
|
||||
echo "Branch appears to be live and trigger is not os; checking workflow." >> $GITHUB_STEP_SUMMARY
|
||||
br=$(echo "$br" | sed 's|origin/||g')
|
||||
echo "**** Evaluating branch ${br} ****"
|
||||
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/jenkins-vars.yml \
|
||||
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
|
||||
if [ "$br" == "$ls_branch" ]; then
|
||||
echo "**** Branch ${br} appears to be live; checking workflow. ****"
|
||||
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/.github/workflows/external_trigger.yml > /dev/null 2>&1; then
|
||||
echo "Triggering external trigger workflow for branch." >> $GITHUB_STEP_SUMMARY
|
||||
echo "**** Workflow exists. Triggering external trigger workflow for branch ${br} ****."
|
||||
curl -iX POST \
|
||||
-H "Authorization: token ${{ secrets.CR_PAT }}" \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
-d "{\"ref\":\"refs/heads/${br}\"}" \
|
||||
https://api.github.com/repos/linuxserver/docker-nzbhydra2/actions/workflows/external_trigger.yml/dispatches
|
||||
else
|
||||
echo "Skipping branch due to no external trigger workflow present." >> $GITHUB_STEP_SUMMARY
|
||||
echo "**** Workflow doesn't exist; skipping trigger. ****"
|
||||
fi
|
||||
else
|
||||
echo "Skipping branch due to being detected as dev branch or having no external version." >> $GITHUB_STEP_SUMMARY
|
||||
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
|
||||
fi
|
||||
done
|
||||
|
||||
@@ -2,18 +2,12 @@ name: Greetings
|
||||
|
||||
on: [pull_request_target, issues]
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
greeting:
|
||||
permissions:
|
||||
issues: write
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/first-interaction@v1
|
||||
with:
|
||||
issue-message: 'Thanks for opening your first issue here! Be sure to follow the relevant issue templates, or risk having this issue marked as invalid.'
|
||||
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-nzbhydra2/blob/dev/.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-nzbhydra2/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
||||
Executable
+38
@@ -0,0 +1,38 @@
|
||||
name: Package Trigger Main
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
package-trigger-master:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v3.1.0
|
||||
|
||||
- name: Package Trigger
|
||||
if: github.ref == 'refs/heads/master'
|
||||
run: |
|
||||
if [ -n "${{ secrets.PAUSE_PACKAGE_TRIGGER_NZBHYDRA2_MASTER }}" ]; then
|
||||
echo "**** Github secret PAUSE_PACKAGE_TRIGGER_NZBHYDRA2_MASTER is set; skipping trigger. ****"
|
||||
exit 0
|
||||
fi
|
||||
if [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/master/lastBuild/api/json | jq -r '.building') == "true" ]; then
|
||||
echo "**** There already seems to be an active build on Jenkins; skipping package trigger ****"
|
||||
exit 0
|
||||
fi
|
||||
echo "**** Package trigger running off of master branch. To disable, set a Github secret named \"PAUSE_PACKAGE_TRIGGER_NZBHYDRA2_MASTER\". ****"
|
||||
response=$(curl -iX POST \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/master/buildWithParameters?PACKAGE_CHECK=true \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||
echo "**** Jenkins job queue url: ${response%$'\r'} ****"
|
||||
echo "**** Sleeping 10 seconds until job starts ****"
|
||||
sleep 10
|
||||
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
|
||||
buildurl="${buildurl%$'\r'}"
|
||||
echo "**** Jenkins job build url: ${buildurl} ****"
|
||||
echo "**** Attempting to change the Jenkins job description ****"
|
||||
curl -iX POST \
|
||||
"${buildurl}submitDescription" \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
|
||||
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
||||
--data-urlencode "Submit=Submit"
|
||||
@@ -2,102 +2,49 @@ name: Package Trigger Scheduler
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '57 21 * * 3'
|
||||
- cron: '01 9 * * 0'
|
||||
workflow_dispatch:
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
package-trigger-scheduler:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4.1.1
|
||||
- uses: actions/checkout@v3.1.0
|
||||
with:
|
||||
fetch-depth: '0'
|
||||
|
||||
- name: Package Trigger Scheduler
|
||||
env:
|
||||
SKIP_PACKAGE_TRIGGER: ${{ vars.SKIP_PACKAGE_TRIGGER }}
|
||||
run: |
|
||||
printf "# Package trigger scheduler for docker-nzbhydra2\n\n" >> $GITHUB_STEP_SUMMARY
|
||||
printf "Found the branches:\n\n%s\n" "$(git for-each-ref --format='- %(refname:lstrip=3)' refs/remotes)" >> $GITHUB_STEP_SUMMARY
|
||||
for br in $(git for-each-ref --format='%(refname:lstrip=3)' refs/remotes)
|
||||
echo "**** Branches found: ****"
|
||||
git for-each-ref --format='%(refname:short)' refs/remotes
|
||||
echo "**** Pulling the yq docker image ****"
|
||||
docker pull ghcr.io/linuxserver/yq
|
||||
for br in $(git for-each-ref --format='%(refname:short)' refs/remotes)
|
||||
do
|
||||
if [[ "${br}" == "HEAD" ]]; then
|
||||
printf "\nSkipping %s.\n" ${br} >> $GITHUB_STEP_SUMMARY
|
||||
continue
|
||||
fi
|
||||
printf "\n## Evaluating \`%s\`\n\n" ${br} >> $GITHUB_STEP_SUMMARY
|
||||
JENKINS_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/jenkins-vars.yml)
|
||||
if ! curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/Jenkinsfile >/dev/null 2>&1; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> No Jenkinsfile found. Branch is either deprecated or is an early dev branch." >> $GITHUB_STEP_SUMMARY
|
||||
skipped_branches="${skipped_branches}${br} "
|
||||
elif [[ "${br}" == $(yq -r '.ls_branch' <<< "${JENKINS_VARS}") ]]; then
|
||||
echo "Branch appears to be live; checking workflow." >> $GITHUB_STEP_SUMMARY
|
||||
README_VARS=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/readme-vars.yml)
|
||||
if [[ $(yq -r '.project_deprecation_status' <<< "${README_VARS}") == "true" ]]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Branch appears to be deprecated; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
skipped_branches="${skipped_branches}${br} "
|
||||
elif [[ $(yq -r '.skip_package_check' <<< "${JENKINS_VARS}") == "true" ]]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Skipping branch ${br} due to \`skip_package_check\` being set in \`jenkins-vars.yml\`." >> $GITHUB_STEP_SUMMARY
|
||||
skipped_branches="${skipped_branches}${br} "
|
||||
elif grep -q "^nzbhydra2_${br}" <<< "${SKIP_PACKAGE_TRIGGER}"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Github organizational variable \`SKIP_PACKAGE_TRIGGER\` contains \`nzbhydra2_${br}\`; skipping trigger." >> $GITHUB_STEP_SUMMARY
|
||||
skipped_branches="${skipped_branches}${br} "
|
||||
elif [ $(curl -s https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/${br}/lastBuild/api/json | jq -r '.building' 2>/dev/null) == "true" ]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> There already seems to be an active build on Jenkins; skipping package trigger for ${br}" >> $GITHUB_STEP_SUMMARY
|
||||
skipped_branches="${skipped_branches}${br} "
|
||||
else
|
||||
echo "> [!NOTE]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Triggering package trigger for branch ${br}" >> $GITHUB_STEP_SUMMARY
|
||||
printf "> To disable, add \`nzbhydra2_%s\` into the Github organizational variable \`SKIP_PACKAGE_TRIGGER\`.\n\n" "${br}" >> $GITHUB_STEP_SUMMARY
|
||||
br=$(echo "$br" | sed 's|origin/||g')
|
||||
echo "**** Evaluating branch ${br} ****"
|
||||
ls_branch=$(curl -sX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/jenkins-vars.yml \
|
||||
| docker run --rm -i --entrypoint yq ghcr.io/linuxserver/yq -r .ls_branch)
|
||||
if [ "${br}" == "${ls_branch}" ]; then
|
||||
echo "**** Branch ${br} appears to be live; checking workflow. ****"
|
||||
if curl -sfX GET https://raw.githubusercontent.com/linuxserver/docker-nzbhydra2/${br}/.github/workflows/package_trigger.yml > /dev/null 2>&1; then
|
||||
echo "**** Workflow exists. Triggering package trigger workflow for branch ${br}. ****"
|
||||
triggered_branches="${triggered_branches}${br} "
|
||||
response=$(curl -iX POST \
|
||||
https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/${br}/buildWithParameters?PACKAGE_CHECK=true \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} | grep -i location | sed "s|^[L|l]ocation: \(.*\)|\1|")
|
||||
if [[ -z "${response}" ]]; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Jenkins build could not be triggered. Skipping branch."
|
||||
continue
|
||||
fi
|
||||
echo "Jenkins [job queue url](${response%$'\r'})" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Sleeping 10 seconds until job starts" >> $GITHUB_STEP_SUMMARY
|
||||
sleep 10
|
||||
buildurl=$(curl -s "${response%$'\r'}api/json" | jq -r '.executable.url')
|
||||
buildurl="${buildurl%$'\r'}"
|
||||
echo "Jenkins job [build url](${buildurl})" >> $GITHUB_STEP_SUMMARY
|
||||
echo "Attempting to change the Jenkins job description" >> $GITHUB_STEP_SUMMARY
|
||||
if ! curl -ifX POST \
|
||||
"${buildurl}submitDescription" \
|
||||
--user ${{ secrets.JENKINS_USER }}:${{ secrets.JENKINS_TOKEN }} \
|
||||
--data-urlencode "description=GHA package trigger https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }}" \
|
||||
--data-urlencode "Submit=Submit"; then
|
||||
echo "> [!WARNING]" >> $GITHUB_STEP_SUMMARY
|
||||
echo "> Unable to change the Jenkins job description."
|
||||
fi
|
||||
sleep 20
|
||||
curl -iX POST \
|
||||
-H "Authorization: token ${{ secrets.CR_PAT }}" \
|
||||
-H "Accept: application/vnd.github.v3+json" \
|
||||
-d "{\"ref\":\"refs/heads/${br}\"}" \
|
||||
https://api.github.com/repos/linuxserver/docker-nzbhydra2/actions/workflows/package_trigger.yml/dispatches
|
||||
sleep 30
|
||||
else
|
||||
echo "**** Workflow doesn't exist; skipping trigger. ****"
|
||||
fi
|
||||
else
|
||||
echo "Skipping branch ${br} due to being detected as dev branch." >> $GITHUB_STEP_SUMMARY
|
||||
echo "**** ${br} appears to be a dev branch; skipping trigger. ****"
|
||||
fi
|
||||
done
|
||||
if [[ -n "${triggered_branches}" ]] || [[ -n "${skipped_branches}" ]]; then
|
||||
if [[ -n "${triggered_branches}" ]]; then
|
||||
NOTIFY_BRANCHES="**Triggered:** ${triggered_branches} \n"
|
||||
NOTIFY_BUILD_URL="**Build URL:** https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-nzbhydra2/activity/ \n"
|
||||
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
|
||||
fi
|
||||
if [[ -n "${skipped_branches}" ]]; then
|
||||
NOTIFY_BRANCHES="${NOTIFY_BRANCHES}**Skipped:** ${skipped_branches} \n"
|
||||
fi
|
||||
echo "**** Notifying Discord ****"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Package Check Build(s) for nzbhydra2** \n'"${NOTIFY_BRANCHES}"''"${NOTIFY_BUILD_URL}"'"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
fi
|
||||
echo "**** Package check build(s) triggered for branch(es): ${triggered_branches} ****"
|
||||
echo "**** Notifying Discord ****"
|
||||
curl -X POST -H "Content-Type: application/json" --data '{"avatar_url": "https://cdn.discordapp.com/avatars/354986384542662657/df91181b3f1cf0ef1592fbe18e0962d7.png","embeds": [{"color": 9802903,
|
||||
"description": "**Package Check Build(s) Triggered for nzbhydra2** \n**Branch(es):** '"${triggered_branches}"' \n**Build URL:** '"https://ci.linuxserver.io/blue/organizations/jenkins/Docker-Pipeline-Builders%2Fdocker-nzbhydra2/activity/"' \n"}],
|
||||
"username": "Github Actions"}' ${{ secrets.DISCORD_WEBHOOK }}
|
||||
|
||||
@@ -1,12 +1,9 @@
|
||||
name: Permission check
|
||||
on:
|
||||
pull_request_target:
|
||||
pull_request:
|
||||
paths:
|
||||
- '**/run'
|
||||
- '**/finish'
|
||||
- '**/check'
|
||||
- 'root/migrations/*'
|
||||
|
||||
jobs:
|
||||
permission_check:
|
||||
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1
|
||||
|
||||
Executable
+23
@@ -0,0 +1,23 @@
|
||||
name: Mark stale issues and pull requests
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "30 1 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@v6.0.1
|
||||
with:
|
||||
stale-issue-message: "This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
||||
stale-pr-message: "This pull request has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions."
|
||||
stale-issue-label: 'no-issue-activity'
|
||||
stale-pr-label: 'no-pr-activity'
|
||||
days-before-stale: 30
|
||||
days-before-close: 365
|
||||
exempt-issue-labels: 'awaiting-approval,work-in-progress'
|
||||
exempt-pr-labels: 'awaiting-approval,work-in-progress'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
+6
-6
@@ -1,6 +1,6 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -10,20 +10,21 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="nemchik"
|
||||
|
||||
# environment settings
|
||||
ENV NZBHYDRA2_RELEASE_TYPE="Release" \
|
||||
DEBIAN_FRONTEND="noninteractive"
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
ENV NZBHYDRA2_RELEASE_TYPE="Release"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
libfreetype6 \
|
||||
openjdk-17-jre-headless \
|
||||
python3 \
|
||||
unzip && \
|
||||
echo "**** install nzbhydra2 ****" && \
|
||||
if [ -z ${NZBHYDRA2_RELEASE+x} ]; then \
|
||||
NZBHYDRA2_RELEASE=$(curl -sX GET "https://api.github.com/repos/theotherp/nzbhydra2/releases" \
|
||||
| jq -r '.[0] | .tag_name'); \
|
||||
NZBHYDRA2_RELEASE=$(curl -sX GET "https://api.github.com/repos/theotherp/nzbhydra2/releases/latest" \
|
||||
| jq -r .tag_name); \
|
||||
fi && \
|
||||
NZBHYDRA2_VER=${NZBHYDRA2_RELEASE#v} && \
|
||||
curl -o \
|
||||
@@ -39,7 +40,6 @@ RUN \
|
||||
/defaults/nzbhydra.yml -L \
|
||||
"https://raw.githubusercontent.com/theotherp/nzbhydra2/v${NZBHYDRA2_VER}/core/src/main/resources/config/baseConfig.yml" && \
|
||||
sed -i 's/mapIpToHost: true/mapIpToHost: false/' /defaults/nzbhydra.yml && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
|
||||
+5
-5
@@ -10,20 +10,21 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
|
||||
LABEL maintainer="nemchik"
|
||||
|
||||
# environment settings
|
||||
ENV NZBHYDRA2_RELEASE_TYPE="Release" \
|
||||
DEBIAN_FRONTEND="noninteractive"
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
ENV NZBHYDRA2_RELEASE_TYPE="Release"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
libfreetype6 \
|
||||
openjdk-17-jre-headless \
|
||||
python3 \
|
||||
unzip && \
|
||||
echo "**** install nzbhydra2 ****" && \
|
||||
if [ -z ${NZBHYDRA2_RELEASE+x} ]; then \
|
||||
NZBHYDRA2_RELEASE=$(curl -sX GET "https://api.github.com/repos/theotherp/nzbhydra2/releases" \
|
||||
| jq -r '.[0] | .tag_name'); \
|
||||
NZBHYDRA2_RELEASE=$(curl -sX GET "https://api.github.com/repos/theotherp/nzbhydra2/releases/latest" \
|
||||
| jq -r .tag_name); \
|
||||
fi && \
|
||||
NZBHYDRA2_VER=${NZBHYDRA2_RELEASE#v} && \
|
||||
curl -o \
|
||||
@@ -39,7 +40,6 @@ RUN \
|
||||
/defaults/nzbhydra.yml -L \
|
||||
"https://raw.githubusercontent.com/theotherp/nzbhydra2/v${NZBHYDRA2_VER}/core/src/main/resources/config/baseConfig.yml" && \
|
||||
sed -i 's/mapIpToHost: true/mapIpToHost: false/' /defaults/nzbhydra.yml && \
|
||||
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
|
||||
@@ -0,0 +1,63 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-jammy
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
ARG VERSION
|
||||
ARG NZBHYDRA2_RELEASE
|
||||
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
||||
LABEL maintainer="nemchik"
|
||||
|
||||
# environment settings
|
||||
ARG DEBIAN_FRONTEND="noninteractive"
|
||||
ENV NZBHYDRA2_RELEASE_TYPE="Release"
|
||||
|
||||
RUN \
|
||||
echo "**** install packages ****" && \
|
||||
apt-get update && \
|
||||
apt-get install --no-install-recommends -y \
|
||||
libfreetype6 \
|
||||
openjdk-17-jre-headless \
|
||||
python3 \
|
||||
unzip && \
|
||||
echo "**** install nzbhydra2 ****" && \
|
||||
if [ -z ${NZBHYDRA2_RELEASE+x} ]; then \
|
||||
NZBHYDRA2_RELEASE=$(curl -sX GET "https://api.github.com/repos/theotherp/nzbhydra2/releases/latest" \
|
||||
| jq -r .tag_name); \
|
||||
fi && \
|
||||
NZBHYDRA2_VER=${NZBHYDRA2_RELEASE#v} && \
|
||||
curl -o \
|
||||
/tmp/nzbhydra2.zip -L \
|
||||
"https://github.com/theotherp/nzbhydra2/releases/download/v${NZBHYDRA2_VER}/nzbhydra2-${NZBHYDRA2_VER}-generic.zip" && \
|
||||
mkdir -p /app/nzbhydra2 && \
|
||||
unzip /tmp/nzbhydra2.zip -d /app/nzbhydra2 && \
|
||||
chmod +x /app/nzbhydra2/nzbhydra2wrapperPy3.py && \
|
||||
if [ -f /app/nzbhydra2/core ]; then chmod +x /app/nzbhydra2/core; fi && \
|
||||
echo "ReleaseType=${NZBHYDRA2_RELEASE_TYPE}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/nzbhydra2/package_info && \
|
||||
mkdir -p /defaults && \
|
||||
curl -o \
|
||||
/defaults/nzbhydra.yml -L \
|
||||
"https://raw.githubusercontent.com/theotherp/nzbhydra2/v${NZBHYDRA2_VER}/core/src/main/resources/config/baseConfig.yml" && \
|
||||
sed -i 's/mapIpToHost: true/mapIpToHost: false/' /defaults/nzbhydra.yml && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/* \
|
||||
/var/lib/apt/lists/* \
|
||||
/var/tmp/* \
|
||||
/var/log/* \
|
||||
/app/nzbhydra2/upstart \
|
||||
/app/nzbhydra2/rc.d \
|
||||
/app/nzbhydra2/sysv \
|
||||
/app/nzbhydra2/systemd \
|
||||
/app/nzbhydra2/WindowsService \
|
||||
/app/nzbhydra2/NZBHydra2.exe \
|
||||
"/app/nzbhydra2/NZBHydra2 Console.exe"
|
||||
|
||||
# copy local files
|
||||
COPY root/ /
|
||||
|
||||
# ports and volumes
|
||||
EXPOSE 5076
|
||||
|
||||
VOLUME /config
|
||||
Vendored
+429
-700
File diff suppressed because it is too large
Load Diff
@@ -1,10 +1,12 @@
|
||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||
<!-- Please read https://github.com/linuxserver/docker-nzbhydra2/blob/dev/.github/CONTRIBUTING.md -->
|
||||
<!-- DO NOT EDIT THIS FILE MANUALLY -->
|
||||
<!-- Please read the https://github.com/linuxserver/docker-nzbhydra2/blob/master/.github/CONTRIBUTING.md -->
|
||||
|
||||
[](https://linuxserver.io)
|
||||
|
||||
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||
[](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
|
||||
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
||||
[](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://github.com/linuxserver "view the source for all of our repositories.")
|
||||
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
||||
|
||||
@@ -19,14 +21,15 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
|
||||
Find us at:
|
||||
|
||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||
* [Discord](https://linuxserver.io/discord) - realtime support / chat with the community and the team.
|
||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
||||
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
||||
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
||||
* [GitHub](https://github.com/linuxserver) - view the source for all of our repositories.
|
||||
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
|
||||
|
||||
# [linuxserver/nzbhydra2](https://github.com/linuxserver/docker-nzbhydra2)
|
||||
|
||||
[](https://scarf.sh)
|
||||
[](https://scarf.sh/gateway/linuxserver-ci/docker/linuxserver%2Fnzbhydra2)
|
||||
[](https://github.com/linuxserver/docker-nzbhydra2)
|
||||
[](https://github.com/linuxserver/docker-nzbhydra2/releases)
|
||||
[](https://github.com/linuxserver/docker-nzbhydra2/packages)
|
||||
@@ -34,20 +37,20 @@ Find us at:
|
||||
[](https://quay.io/repository/linuxserver.io/nzbhydra2)
|
||||
[](https://hub.docker.com/r/linuxserver/nzbhydra2)
|
||||
[](https://hub.docker.com/r/linuxserver/nzbhydra2)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/dev/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/nzbhydra2/dev/index.html)
|
||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/master/)
|
||||
[](https://ci-tests.linuxserver.io/linuxserver/nzbhydra2/latest/index.html)
|
||||
|
||||
[Nzbhydra2](https://github.com/theotherp/nzbhydra2) is a meta search application for NZB indexers, the "spiritual successor" to NZBmegasearcH, and an evolution of the original application [NZBHydra](https://github.com/theotherp/nzbhydra).
|
||||
|
||||
It provides easy access to a number of raw and newznab based indexers.
|
||||
It provides easy access to a number of raw and newznab based indexers. The application NZBHydra 2 is replacing NZBHydra 1 and supports migrating from V1. Be wary that there may be some compatibility issues for those migrating from V1 to V2, so ensure you back up your old configuration before moving over to the new version. **NOTE:** The last version that supports migration is `linuxserver/nzbhydra2:v2.10.2-ls49`
|
||||
|
||||
[](https://github.com/theotherp/nzbhydra2)
|
||||
|
||||
## 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://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||
|
||||
Simply pulling `lscr.io/linuxserver/nzbhydra2:dev` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||
Simply pulling `lscr.io/linuxserver/nzbhydra2: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:
|
||||
|
||||
@@ -55,6 +58,7 @@ The architectures supported by this image are:
|
||||
| :----: | :----: | ---- |
|
||||
| x86-64 | ✅ | amd64-\<version tag\> |
|
||||
| arm64 | ✅ | arm64v8-\<version tag\> |
|
||||
| armhf | ✅ | arm32v7-\<version tag\> |
|
||||
|
||||
## Version Tags
|
||||
|
||||
@@ -64,33 +68,30 @@ This image provides various versions that are available via tags. Please read th
|
||||
| :----: | :----: |--- |
|
||||
| latest | ✅ | Stable releases |
|
||||
| dev | ✅ | Prereleases from their GitHub |
|
||||
|
||||
## Application Setup
|
||||
|
||||
The web interface is at `<your ip>:5076`, to set up indexers and connections to your nzb download applications.
|
||||
The web interface is at `<your ip>:5076` , to set up indexers and connections to your nzb download applications.
|
||||
|
||||
## Usage
|
||||
|
||||
To help you get started creating a container from this image you can either use docker-compose or the docker cli.
|
||||
|
||||
>[!NOTE]
|
||||
>Unless a parameter is flagged as 'optional', it is *mandatory* and a value must be provided.
|
||||
Here are some example snippets to help you get started creating a container.
|
||||
|
||||
### docker-compose (recommended, [click here for more info](https://docs.linuxserver.io/general/docker-compose))
|
||||
|
||||
```yaml
|
||||
---
|
||||
version: "2.1"
|
||||
services:
|
||||
nzbhydra2:
|
||||
image: lscr.io/linuxserver/nzbhydra2:dev
|
||||
image: lscr.io/linuxserver/nzbhydra2:latest
|
||||
container_name: nzbhydra2
|
||||
environment:
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
- TZ=Etc/UTC
|
||||
volumes:
|
||||
- /path/to/nzbhydra2/data:/config
|
||||
- /path/to/downloads:/downloads #optional
|
||||
- /path/to/data:/config
|
||||
- /nzb/download:/downloads
|
||||
ports:
|
||||
- 5076:5076
|
||||
restart: unless-stopped
|
||||
@@ -105,23 +106,24 @@ docker run -d \
|
||||
-e PGID=1000 \
|
||||
-e TZ=Etc/UTC \
|
||||
-p 5076:5076 \
|
||||
-v /path/to/nzbhydra2/data:/config \
|
||||
-v /path/to/downloads:/downloads `#optional` \
|
||||
-v /path/to/data:/config \
|
||||
-v /nzb/download:/downloads \
|
||||
--restart unless-stopped \
|
||||
lscr.io/linuxserver/nzbhydra2:dev
|
||||
lscr.io/linuxserver/nzbhydra2:latest
|
||||
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
Containers are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
|
||||
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
|
||||
|
||||
| Parameter | Function |
|
||||
| :----: | --- |
|
||||
| `-p 5076:5076` | WebUI |
|
||||
| `-p 5076` | WebUI |
|
||||
| `-e PUID=1000` | for UserID - 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). |
|
||||
| `-v /config` | Where nzbhydra2 should store config data. |
|
||||
| `-v /config` | Where nzbhydra2 should store config files. |
|
||||
| `-v /downloads` | NZB download folder. |
|
||||
|
||||
## Environment variables from files (Docker secrets)
|
||||
@@ -131,10 +133,10 @@ You can set any environment variable from a file by using a special prepend `FIL
|
||||
As an example:
|
||||
|
||||
```bash
|
||||
-e FILE__MYVAR=/run/secrets/mysecretvariable
|
||||
-e FILE__PASSWORD=/run/secrets/mysecretpassword
|
||||
```
|
||||
|
||||
Will set the environment variable `MYVAR` based on the contents of the `/run/secrets/mysecretvariable` file.
|
||||
Will set the environment variable `PASSWORD` based on the contents of the `/run/secrets/mysecretpassword` file.
|
||||
|
||||
## Umask for running applications
|
||||
|
||||
@@ -143,20 +145,15 @@ Keep in mind umask is not chmod it subtracts from permissions based on it's valu
|
||||
|
||||
## User / Group Identifiers
|
||||
|
||||
When using volumes (`-v` flags), permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
|
||||
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
|
||||
|
||||
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
|
||||
|
||||
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id your_user` as below:
|
||||
In this instance `PUID=1000` and `PGID=1000`, to find yours use `id user` as below:
|
||||
|
||||
```bash
|
||||
id your_user
|
||||
```
|
||||
|
||||
Example output:
|
||||
|
||||
```text
|
||||
uid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
|
||||
$ id username
|
||||
uid=1000(dockeruser) gid=1000(dockergroup) groups=1000(dockergroup)
|
||||
```
|
||||
|
||||
## Docker Mods
|
||||
@@ -167,101 +164,53 @@ We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to
|
||||
|
||||
## Support Info
|
||||
|
||||
* Shell access whilst the container is running:
|
||||
|
||||
```bash
|
||||
docker exec -it nzbhydra2 /bin/bash
|
||||
```
|
||||
|
||||
* To monitor the logs of the container in realtime:
|
||||
|
||||
```bash
|
||||
docker logs -f nzbhydra2
|
||||
```
|
||||
|
||||
* Container version number:
|
||||
|
||||
```bash
|
||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' nzbhydra2
|
||||
```
|
||||
|
||||
* Image version number:
|
||||
|
||||
```bash
|
||||
docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nzbhydra2:dev
|
||||
```
|
||||
* Shell access whilst the container is running: `docker exec -it nzbhydra2 /bin/bash`
|
||||
* To monitor the logs of the container in realtime: `docker logs -f nzbhydra2`
|
||||
* container version number
|
||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' nzbhydra2`
|
||||
* image version number
|
||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/nzbhydra2:latest`
|
||||
|
||||
## Updating Info
|
||||
|
||||
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (noted in the relevant readme.md), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
|
||||
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
|
||||
|
||||
Below are the instructions for updating containers:
|
||||
|
||||
### Via Docker Compose
|
||||
|
||||
* Update images:
|
||||
* All images:
|
||||
|
||||
```bash
|
||||
docker-compose pull
|
||||
```
|
||||
|
||||
* Single image:
|
||||
|
||||
```bash
|
||||
docker-compose pull nzbhydra2
|
||||
```
|
||||
|
||||
* Update containers:
|
||||
* All containers:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
* Single container:
|
||||
|
||||
```bash
|
||||
docker-compose up -d nzbhydra2
|
||||
```
|
||||
|
||||
* You can also remove the old dangling images:
|
||||
|
||||
```bash
|
||||
docker image prune
|
||||
```
|
||||
* Update all images: `docker-compose pull`
|
||||
* or update a single image: `docker-compose pull nzbhydra2`
|
||||
* Let compose update all containers as necessary: `docker-compose up -d`
|
||||
* or update a single container: `docker-compose up -d nzbhydra2`
|
||||
* You can also remove the old dangling images: `docker image prune`
|
||||
|
||||
### Via Docker Run
|
||||
|
||||
* Update the image:
|
||||
|
||||
```bash
|
||||
docker pull lscr.io/linuxserver/nzbhydra2:dev
|
||||
```
|
||||
|
||||
* Stop the running container:
|
||||
|
||||
```bash
|
||||
docker stop nzbhydra2
|
||||
```
|
||||
|
||||
* Delete the container:
|
||||
|
||||
```bash
|
||||
docker rm nzbhydra2
|
||||
```
|
||||
|
||||
* Update the image: `docker pull lscr.io/linuxserver/nzbhydra2:latest`
|
||||
* Stop the running container: `docker stop nzbhydra2`
|
||||
* Delete the container: `docker rm nzbhydra2`
|
||||
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
|
||||
* You can also remove the old dangling images:
|
||||
* You can also remove the old dangling images: `docker image prune`
|
||||
|
||||
```bash
|
||||
docker image prune
|
||||
```
|
||||
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
|
||||
|
||||
* Pull the latest image at its tag and replace it with the same env variables in one run:
|
||||
|
||||
```bash
|
||||
docker run --rm \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
containrrr/watchtower \
|
||||
--run-once nzbhydra2
|
||||
```
|
||||
|
||||
* You can also remove the old dangling images: `docker image prune`
|
||||
|
||||
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
|
||||
|
||||
### Image Update Notifications - Diun (Docker Image Update Notifier)
|
||||
|
||||
>[!TIP]
|
||||
>We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
|
||||
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
|
||||
|
||||
## Building locally
|
||||
|
||||
@@ -273,28 +222,27 @@ cd docker-nzbhydra2
|
||||
docker build \
|
||||
--no-cache \
|
||||
--pull \
|
||||
-t lscr.io/linuxserver/nzbhydra2:dev .
|
||||
-t lscr.io/linuxserver/nzbhydra2: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 using `multiarch/qemu-user-static`
|
||||
|
||||
```bash
|
||||
docker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
|
||||
docker run --rm --privileged multiarch/qemu-user-static:register --reset
|
||||
```
|
||||
|
||||
Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64`.
|
||||
|
||||
## Versions
|
||||
|
||||
* **18.07.24:** - Rebase to Ubuntu Noble. Remove standalone JRE ([#47](https://github.com/linuxserver/docker-nzbhydra2/pull/47)).
|
||||
* **04.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)
|
||||
* **22.01.23:** - Update release URL for arch-specific packages.
|
||||
* **20.01.23:** - Update dependencies for v5.
|
||||
* **03.23.22:** - Upgrade JRE to 17, rebase to ubuntu.
|
||||
* **10.12.22:** - Bump master JRE to v17. Default mapIpToHost to false.
|
||||
* **11.09.22:** - Migrate to s6v3.
|
||||
* **03.05.22:** - Rebase to Jammy.
|
||||
* **18.04.22:** - Rebase to Alpine 3.15.
|
||||
* **01.05.20:** - Reorganize container, Relocate app to /app/nzbhydra2/bin, Create /app/nzbhydra2/package_info, Use nzbhydra2wrapperPy3.py from zip.
|
||||
* **29.04.20:** - Include stable releases incrementally with dev releases.
|
||||
* **14.04.20:** - Correct Name, Hydra2 -> Nzbhydra2.
|
||||
* **14.04.20:** - Correct Name, Hydra2 -> NZBHydra2.
|
||||
* **08.01.20:** - Switch to python3.
|
||||
* **05.01.20:** - Add dev tag for prereleases.
|
||||
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||
|
||||
+9
-7
@@ -1,12 +1,13 @@
|
||||
---
|
||||
|
||||
# jenkins variables
|
||||
project_name: docker-nzbhydra2
|
||||
external_type: github_devel
|
||||
release_type: prerelease
|
||||
release_tag: dev
|
||||
ls_branch: dev
|
||||
external_type: github_stable
|
||||
release_type: stable
|
||||
release_tag: latest
|
||||
ls_branch: master
|
||||
repo_vars:
|
||||
- EXT_GIT_BRANCH = 'develop'
|
||||
- EXT_GIT_BRANCH = 'master'
|
||||
- EXT_USER = 'theotherp'
|
||||
- EXT_REPO = 'nzbhydra2'
|
||||
- BUILD_VERSION_ARG = 'NZBHYDRA2_RELEASE'
|
||||
@@ -23,8 +24,9 @@ repo_vars:
|
||||
- CI_PORT='5076'
|
||||
- CI_SSL='false'
|
||||
- CI_DELAY='120'
|
||||
- CI_DOCKERENV=''
|
||||
- CI_AUTH=''
|
||||
- CI_DOCKERENV='TZ=US/Pacific'
|
||||
- CI_AUTH='user:password'
|
||||
- CI_WEBPATH='/system/about'
|
||||
sponsor_links:
|
||||
- { name: "NZBHydra 2", url: "https://github.com/theotherp/nzbhydra2#donate" }
|
||||
|
||||
|
||||
+179
-155
@@ -1,155 +1,179 @@
|
||||
NAME VERSION TYPE
|
||||
adduser 3.137ubuntu1 deb
|
||||
apt 2.8.3 deb
|
||||
apt-utils 2.8.3 deb
|
||||
base-files 13ubuntu10.4 deb
|
||||
base-passwd 3.6.3build1 deb
|
||||
bash 5.2.21-2ubuntu4 deb
|
||||
bsdutils 1:2.39.3-9ubuntu6.5 deb
|
||||
ca-certificates 20260601~24.04.1 deb
|
||||
catatonit 0.1.7-1 deb
|
||||
coreutils 9.4-3ubuntu6.2 deb
|
||||
cron 3.0pl1-184ubuntu2 deb
|
||||
cron-daemon-common 3.0pl1-184ubuntu2 deb
|
||||
curl 8.5.0-2ubuntu10.10 deb
|
||||
dash 0.5.12-6ubuntu5 deb
|
||||
debconf 1.5.86ubuntu1 deb
|
||||
debianutils 5.17build1 deb
|
||||
diffutils 1:3.10-1build1 deb
|
||||
dirmngr 2.4.4-2ubuntu17.4 deb
|
||||
dpkg 1.22.6ubuntu6.6 deb
|
||||
e2fsprogs 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
findutils 4.9.0-5build1 deb
|
||||
gcc-14-base 14.2.0-4ubuntu2~24.04.1 deb
|
||||
gnupg 2.4.4-2ubuntu17.4 deb
|
||||
gnupg-l10n 2.4.4-2ubuntu17.4 deb
|
||||
gnupg-utils 2.4.4-2ubuntu17.4 deb
|
||||
gpg 2.4.4-2ubuntu17.4 deb
|
||||
gpg-agent 2.4.4-2ubuntu17.4 deb
|
||||
gpg-wks-client 2.4.4-2ubuntu17.4 deb
|
||||
gpgconf 2.4.4-2ubuntu17.4 deb
|
||||
gpgsm 2.4.4-2ubuntu17.4 deb
|
||||
gpgv 2.4.4-2ubuntu17.4 deb
|
||||
grep 3.11-4build1 deb
|
||||
gzip 1.12-1ubuntu3.2 deb
|
||||
hostname 3.23+nmu2ubuntu2 deb
|
||||
init-system-helpers 1.66ubuntu1 deb
|
||||
jq 1.7.1-3ubuntu0.24.04.2 deb
|
||||
keyboxd 2.4.4-2ubuntu17.4 deb
|
||||
krb5-locales 1.20.1-6ubuntu2.6 deb
|
||||
libacl1 2.3.2-1build1.1 deb
|
||||
libapt-pkg6.0t64 2.8.3 deb
|
||||
libassuan0 2.5.6-1build1 deb
|
||||
libattr1 1:2.5.2-1build1.1 deb
|
||||
libaudit-common 1:3.1.2-2.1build1.1 deb
|
||||
libaudit1 1:3.1.2-2.1build1.1 deb
|
||||
libblkid1 2.39.3-9ubuntu6.5 deb
|
||||
libbrotli1 1.1.0-2build2 deb
|
||||
libbsd0 0.12.1-1build1.1 deb
|
||||
libbz2-1.0 1.0.8-5.1build0.1 deb
|
||||
libc-bin 2.39-0ubuntu8.7 deb
|
||||
libc6 2.39-0ubuntu8.7 deb
|
||||
libcap-ng0 0.8.4-2build2 deb
|
||||
libcap2 1:2.66-5ubuntu2.4 deb
|
||||
libcom-err2 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
libcrypt1 1:4.4.36-4build1 deb
|
||||
libcurl4t64 8.5.0-2ubuntu10.10 deb
|
||||
libdb5.3t64 5.3.28+dfsg2-7 deb
|
||||
libdebconfclient0 0.271ubuntu3 deb
|
||||
libexpat1 2.6.1-2ubuntu0.4 deb
|
||||
libext2fs2t64 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
libffi8 3.4.6-1build1 deb
|
||||
libfreetype6 2.13.2+dfsg-1ubuntu0.1 deb
|
||||
libgcc-s1 14.2.0-4ubuntu2~24.04.1 deb
|
||||
libgcrypt20 1.10.3-2ubuntu0.1 deb
|
||||
libgmp10 2:6.3.0+dfsg-2ubuntu6.1 deb
|
||||
libgnutls30t64 3.8.3-1.1ubuntu3.6 deb
|
||||
libgpg-error0 1.47-3build2.1 deb
|
||||
libgssapi-krb5-2 1.20.1-6ubuntu2.6 deb
|
||||
libhogweed6t64 3.9.1-2.2build1.1 deb
|
||||
libidn2-0 2.3.7-2build1.1 deb
|
||||
libjq1 1.7.1-3ubuntu0.24.04.2 deb
|
||||
libk5crypto3 1.20.1-6ubuntu2.6 deb
|
||||
libkeyutils1 1.6.3-3build1 deb
|
||||
libkrb5-3 1.20.1-6ubuntu2.6 deb
|
||||
libkrb5support0 1.20.1-6ubuntu2.6 deb
|
||||
libksba8 1.6.6-1build1 deb
|
||||
libldap-common 2.6.10+dfsg-0ubuntu0.24.04.1 deb
|
||||
libldap2 2.6.10+dfsg-0ubuntu0.24.04.1 deb
|
||||
liblz4-1 1.9.4-1build1.1 deb
|
||||
liblzma5 5.6.1+really5.4.5-1ubuntu0.3 deb
|
||||
libmd0 1.1.0-2build1.1 deb
|
||||
libmount1 2.39.3-9ubuntu6.5 deb
|
||||
libncursesw6 6.4+20240113-1ubuntu2.1 deb
|
||||
libnettle8t64 3.9.1-2.2build1.1 deb
|
||||
libnghttp2-14 1.59.0-1ubuntu0.4 deb
|
||||
libnpth0t64 1.6-3.1build1 deb
|
||||
libonig5 6.9.9-1build1 deb
|
||||
libp11-kit0 0.25.3-4ubuntu2.1 deb
|
||||
libpam-modules 1.5.3-5ubuntu5.5 deb
|
||||
libpam-modules-bin 1.5.3-5ubuntu5.5 deb
|
||||
libpam-runtime 1.5.3-5ubuntu5.5 deb
|
||||
libpam0g 1.5.3-5ubuntu5.5 deb
|
||||
libpcre2-8-0 10.42-4ubuntu2.1 deb
|
||||
libpng16-16t64 1.6.43-5ubuntu0.6 deb
|
||||
libproc2-0 2:4.0.4-4ubuntu3.2 deb
|
||||
libpsl5t64 0.21.2-1.1build1 deb
|
||||
libpython3-stdlib 3.12.3-0ubuntu2.1 deb
|
||||
libpython3.12-minimal 3.12.3-1ubuntu0.15 deb
|
||||
libpython3.12-stdlib 3.12.3-1ubuntu0.15 deb
|
||||
libreadline8t64 8.2-4build1 deb
|
||||
librtmp1 2.4+20151223.gitfa8646d.1-2build7 deb
|
||||
libsasl2-2 2.1.28+dfsg1-5ubuntu3.1 deb
|
||||
libsasl2-modules 2.1.28+dfsg1-5ubuntu3.1 deb
|
||||
libsasl2-modules-db 2.1.28+dfsg1-5ubuntu3.1 deb
|
||||
libseccomp2 2.5.5-1ubuntu3.1 deb
|
||||
libselinux1 3.5-2ubuntu2.1 deb
|
||||
libsemanage-common 3.5-1build5 deb
|
||||
libsemanage2 3.5-1build5 deb
|
||||
libsepol2 3.5-2build1 deb
|
||||
libsmartcols1 2.39.3-9ubuntu6.5 deb
|
||||
libsqlite3-0 3.45.1-1ubuntu2.6 deb
|
||||
libss2 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
libssh-4 0.10.6-2ubuntu0.4 deb
|
||||
libssl3t64 3.0.13-0ubuntu3.11 deb
|
||||
libstdc++6 14.2.0-4ubuntu2~24.04.1 deb
|
||||
libsystemd0 255.4-1ubuntu8.16 deb
|
||||
libtasn1-6 4.19.0-3ubuntu0.24.04.2 deb
|
||||
libtinfo6 6.4+20240113-1ubuntu2.1 deb
|
||||
libudev1 255.4-1ubuntu8.16 deb
|
||||
libunistring5 1.1-2build1.1 deb
|
||||
libuuid1 2.39.3-9ubuntu6.5 deb
|
||||
libxxhash0 0.8.2-2build1 deb
|
||||
libzstd1 1.5.5+dfsg2-2build1.1 deb
|
||||
locales 2.39-0ubuntu8.7 deb
|
||||
login 1:4.13+dfsg1-4ubuntu3.2 deb
|
||||
logsave 1.47.0-2.4~exp1ubuntu4.1 deb
|
||||
mawk 1.3.4.20240123-1build1 deb
|
||||
media-types 10.1.0 deb
|
||||
mount 2.39.3-9ubuntu6.5 deb
|
||||
ncurses-base 6.4+20240113-1ubuntu2.1 deb
|
||||
ncurses-bin 6.4+20240113-1ubuntu2.1 deb
|
||||
netbase 6.4 deb
|
||||
netcat-openbsd 1.226-1ubuntu2 deb
|
||||
openssl 3.0.13-0ubuntu3.11 deb
|
||||
passwd 1:4.13+dfsg1-4ubuntu3.2 deb
|
||||
perl-base 5.38.2-3.2ubuntu0.3 deb
|
||||
pinentry-curses 1.2.1-3ubuntu5 deb
|
||||
procps 2:4.0.4-4ubuntu3.2 deb
|
||||
publicsuffix 20231001.0357-0.1 deb
|
||||
python3 3.12.3-0ubuntu2.1 deb
|
||||
python3-minimal 3.12.3-0ubuntu2.1 deb
|
||||
python3.12 3.12.3-1ubuntu0.15 deb
|
||||
python3.12-minimal 3.12.3-1ubuntu0.15 deb
|
||||
readline-common 8.2-4build1 deb
|
||||
sed 4.9-2ubuntu0.24.04.1 deb
|
||||
sensible-utils 0.0.22 deb
|
||||
systemd-standalone-sysusers 255.4-1ubuntu8.16 deb
|
||||
sysvinit-utils 3.08-6ubuntu3 deb
|
||||
tar 1.35+dfsg-3ubuntu0.2 deb
|
||||
tzdata 2026a-0ubuntu0.24.04.1 deb
|
||||
ubuntu-keyring 2023.11.28.1 deb
|
||||
unminimize 0.2.1 deb
|
||||
unzip 6.0-28ubuntu4.1 deb
|
||||
util-linux 2.39.3-9ubuntu6.5 deb
|
||||
zlib1g 1:1.3.dfsg-3.1ubuntu2.1 deb
|
||||
adduser3.118ubuntu5
|
||||
apt2.4.8
|
||||
apt-utils2.4.8
|
||||
base-files12ubuntu4.3
|
||||
base-passwd3.5.52build1
|
||||
bash5.1-6ubuntu1
|
||||
bsdutils1:2.37.2-4ubuntu3
|
||||
ca-certificates20211016ubuntu0.22.04.1
|
||||
ca-certificates-java20190909ubuntu1.1
|
||||
coreutils8.32-4.1ubuntu1
|
||||
curl7.81.0-1ubuntu1.7
|
||||
dash0.5.11+git20210903+057cd650a4ed-3build1
|
||||
debconf1.5.79ubuntu1
|
||||
debianutils5.5-1ubuntu2
|
||||
diffutils1:3.8-0ubuntu2
|
||||
dirmngr2.2.27-3ubuntu2.1
|
||||
dpkg1.21.1ubuntu2.1
|
||||
e2fsprogs1.46.5-2ubuntu1.1
|
||||
findutils4.8.0-1ubuntu3
|
||||
fontconfig-config2.13.1-4.2ubuntu5
|
||||
fonts-dejavu-core2.37-2build1
|
||||
gcc-12-base12.1.0-2ubuntu1~22.04
|
||||
gnupg2.2.27-3ubuntu2.1
|
||||
gnupg-l10n2.2.27-3ubuntu2.1
|
||||
gnupg-utils2.2.27-3ubuntu2.1
|
||||
gpg2.2.27-3ubuntu2.1
|
||||
gpg-agent2.2.27-3ubuntu2.1
|
||||
gpgconf2.2.27-3ubuntu2.1
|
||||
gpgsm2.2.27-3ubuntu2.1
|
||||
gpgv2.2.27-3ubuntu2.1
|
||||
gpg-wks-client2.2.27-3ubuntu2.1
|
||||
gpg-wks-server2.2.27-3ubuntu2.1
|
||||
grep3.7-1build1
|
||||
gzip1.10-4ubuntu4.1
|
||||
hostname3.23ubuntu2
|
||||
init-system-helpers1.62
|
||||
java-common0.72build2
|
||||
jq1.6-2.1ubuntu3
|
||||
libacl12.3.1-1
|
||||
libapt-pkg6.02.4.8
|
||||
libasound21.2.6.1-1ubuntu1
|
||||
libasound2-data1.2.6.1-1ubuntu1
|
||||
libassuan02.5.5-1build1
|
||||
libattr11:2.5.1-1build1
|
||||
libaudit11:3.0.7-1build1
|
||||
libaudit-common1:3.0.7-1build1
|
||||
libavahi-client30.8-5ubuntu5
|
||||
libavahi-common30.8-5ubuntu5
|
||||
libavahi-common-data0.8-5ubuntu5
|
||||
libblkid12.37.2-4ubuntu3
|
||||
libbrotli11.0.9-2build6
|
||||
libbsd00.11.5-1
|
||||
libbz2-1.01.0.8-5build1
|
||||
libc62.35-0ubuntu3.1
|
||||
libcap21:2.44-1build3
|
||||
libcap-ng00.7.9-2.2build3
|
||||
libc-bin2.35-0ubuntu3.1
|
||||
libcom-err21.46.5-2ubuntu1.1
|
||||
libcrypt11:4.4.27-1
|
||||
libcups22.4.1op1-1ubuntu4.1
|
||||
libcurl47.81.0-1ubuntu1.7
|
||||
libdb5.35.3.28+dfsg1-0.8ubuntu3
|
||||
libdbus-1-31.12.20-2ubuntu4.1
|
||||
libdebconfclient00.261ubuntu1
|
||||
libexpat12.4.7-1ubuntu0.2
|
||||
libext2fs21.46.5-2ubuntu1.1
|
||||
libffi83.4.2-4
|
||||
libfontconfig12.13.1-4.2ubuntu5
|
||||
libfreetype62.11.1+dfsg-1ubuntu0.1
|
||||
libgcc-s112.1.0-2ubuntu1~22.04
|
||||
libgcrypt201.9.4-3ubuntu3
|
||||
libglib2.0-02.72.4-0ubuntu1
|
||||
libgmp102:6.2.1+dfsg-3ubuntu1
|
||||
libgnutls303.7.3-4ubuntu1.1
|
||||
libgpg-error01.43-3
|
||||
libgraphite2-31.3.14-1build2
|
||||
libgssapi-krb5-21.19.2-2ubuntu0.1
|
||||
libharfbuzz0b2.7.4-1ubuntu3.1
|
||||
libhogweed63.7.3-1build2
|
||||
libidn2-02.3.2-2build1
|
||||
libjpeg88c-2ubuntu10
|
||||
libjpeg-turbo82.1.2-0ubuntu1
|
||||
libjq11.6-2.1ubuntu3
|
||||
libk5crypto31.19.2-2ubuntu0.1
|
||||
libkeyutils11.6.1-2ubuntu3
|
||||
libkrb5-31.19.2-2ubuntu0.1
|
||||
libkrb5support01.19.2-2ubuntu0.1
|
||||
libksba81.6.0-2ubuntu0.2
|
||||
liblcms2-22.12~rc1-2build2
|
||||
libldap-2.5-02.5.13+dfsg-0ubuntu0.22.04.1
|
||||
libldap-common2.5.13+dfsg-0ubuntu0.22.04.1
|
||||
liblz4-11.9.3-2build2
|
||||
liblzma55.2.5-2ubuntu1
|
||||
libmd01.0.4-1build1
|
||||
libmount12.37.2-4ubuntu3
|
||||
libmpdec32.5.1-2build2
|
||||
libncurses66.3-2
|
||||
libncursesw66.3-2
|
||||
libnettle83.7.3-1build2
|
||||
libnghttp2-141.43.0-1build3
|
||||
libnpth01.6-3build2
|
||||
libnsl21.3.0-2build2
|
||||
libnspr42:4.32-3build1
|
||||
libnss32:3.68.2-0ubuntu1.1
|
||||
libonig56.9.7.1-2build1
|
||||
libp11-kit00.24.0-6build1
|
||||
libpam0g1.4.0-11ubuntu2.3
|
||||
libpam-modules1.4.0-11ubuntu2.3
|
||||
libpam-modules-bin1.4.0-11ubuntu2.3
|
||||
libpam-runtime1.4.0-11ubuntu2.3
|
||||
libpcre2-8-010.39-3ubuntu0.1
|
||||
libpcre32:8.39-13ubuntu0.22.04.1
|
||||
libpcsclite11.9.5-3
|
||||
libpng16-161.6.37-3build5
|
||||
libprocps82:3.3.17-6ubuntu2
|
||||
libpsl50.21.0-1.2build2
|
||||
libpython3.10-minimal3.10.6-1~22.04.2
|
||||
libpython3.10-stdlib3.10.6-1~22.04.2
|
||||
libpython3-stdlib3.10.6-1~22.04
|
||||
libreadline88.1.2-1
|
||||
librtmp12.4+20151223.gitfa8646d.1-2build4
|
||||
libsasl2-22.1.27+dfsg2-3ubuntu1.1
|
||||
libsasl2-modules2.1.27+dfsg2-3ubuntu1.1
|
||||
libsasl2-modules-db2.1.27+dfsg2-3ubuntu1.1
|
||||
libseccomp22.5.3-2ubuntu2
|
||||
libselinux13.3-1build2
|
||||
libsemanage23.3-1build2
|
||||
libsemanage-common3.3-1build2
|
||||
libsepol23.3-1build1
|
||||
libsmartcols12.37.2-4ubuntu3
|
||||
libsqlite3-03.37.2-2ubuntu0.1
|
||||
libss21.46.5-2ubuntu1.1
|
||||
libssh-40.9.6-2build1
|
||||
libssl33.0.2-0ubuntu1.8
|
||||
libstdc++612.1.0-2ubuntu1~22.04
|
||||
libsystemd0249.11-0ubuntu3.6
|
||||
libtasn1-64.18.0-4build1
|
||||
libtinfo66.3-2
|
||||
libtirpc31.3.2-2ubuntu0.1
|
||||
libtirpc-common1.3.2-2ubuntu0.1
|
||||
libudev1249.11-0ubuntu3.6
|
||||
libunistring21.0-1
|
||||
libuuid12.37.2-4ubuntu3
|
||||
libxxhash00.8.1-1
|
||||
libzstd11.4.8+dfsg-3build1
|
||||
locales2.35-0ubuntu3.1
|
||||
login1:4.8.1-2ubuntu2.1
|
||||
logsave1.46.5-2ubuntu1.1
|
||||
lsb-base11.1.0ubuntu4
|
||||
mawk1.3.4.20200120-3
|
||||
media-types7.0.0
|
||||
mount2.37.2-4ubuntu3
|
||||
ncurses-base6.3-2
|
||||
ncurses-bin6.3-2
|
||||
netcat1.218-4ubuntu1
|
||||
netcat-openbsd1.218-4ubuntu1
|
||||
openjdk-17-jre-headless17.0.5+8-2ubuntu1~22.04
|
||||
openssl3.0.2-0ubuntu1.8
|
||||
passwd1:4.8.1-2ubuntu2.1
|
||||
perl-base5.34.0-3ubuntu1.1
|
||||
pinentry-curses1.1.1-1build2
|
||||
procps2:3.3.17-6ubuntu2
|
||||
publicsuffix20211207.1025-1
|
||||
python3.103.10.6-1~22.04.2
|
||||
python3.10-minimal3.10.6-1~22.04.2
|
||||
python33.10.6-1~22.04
|
||||
python3-minimal3.10.6-1~22.04
|
||||
readline-common8.1.2-1
|
||||
sed4.8-1ubuntu2
|
||||
sensible-utils0.0.17
|
||||
sysvinit-utils3.01-1ubuntu1
|
||||
tar1.34+dfsg-1build3
|
||||
tzdata2022g-0ubuntu0.22.04.1
|
||||
ubuntu-keyring2021.03.26
|
||||
ucf3.0043
|
||||
unzip6.0-26ubuntu3.1
|
||||
usrmerge25ubuntu2
|
||||
util-linux2.37.2-4ubuntu3
|
||||
zlib1g1:1.2.11.dfsg-2ubuntu9.2
|
||||
|
||||
+47
-69
@@ -7,90 +7,68 @@ project_logo: "https://raw.githubusercontent.com/linuxserver/docker-templates/ma
|
||||
project_blurb: |
|
||||
[{{ project_name|capitalize }}]({{ project_url }}) is a meta search application for NZB indexers, the "spiritual successor" to NZBmegasearcH, and an evolution of the original application [NZBHydra](https://github.com/theotherp/nzbhydra).
|
||||
|
||||
It provides easy access to a number of raw and newznab based indexers.
|
||||
It provides easy access to a number of raw and newznab based indexers. The application NZBHydra 2 is replacing NZBHydra 1 and supports migrating from V1. Be wary that there may be some compatibility issues for those migrating from V1 to V2, so ensure you back up your old configuration before moving over to the new version. **NOTE:** The last version that supports migration is `linuxserver/nzbhydra2:v2.10.2-ls49`
|
||||
project_lsio_github_repo_url: "https://github.com/linuxserver/docker-{{ project_name }}"
|
||||
project_blurb_optional_extras_enabled: false
|
||||
|
||||
# supported architectures
|
||||
available_architectures:
|
||||
- {arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||
- {arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||
- { arch: "{{ arch_x86_64 }}", tag: "amd64-latest"}
|
||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
||||
|
||||
# development version
|
||||
development_versions: true
|
||||
development_versions_items:
|
||||
- {tag: "latest", desc: "Stable releases"}
|
||||
- {tag: "dev", desc: "Prereleases from their GitHub"}
|
||||
- { tag: "latest", desc: "Stable releases" }
|
||||
- { tag: "dev", desc: "Prereleases from their GitHub" }
|
||||
|
||||
# container parameters
|
||||
common_param_env_vars_enabled: true
|
||||
param_container_name: "{{ project_name }}"
|
||||
param_usage_include_net: false
|
||||
param_usage_include_env: true
|
||||
param_env_vars:
|
||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London." }
|
||||
param_usage_include_vols: true
|
||||
param_volumes:
|
||||
- {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/data", desc: "Where nzbhydra2 should store config data."}
|
||||
- { vol_path: "/config", vol_host_path: "/path/to/data", desc: "Where nzbhydra2 should store config files." }
|
||||
- { vol_path: "/downloads", vol_host_path: "/nzb/download", desc: "NZB download folder." }
|
||||
param_usage_include_ports: true
|
||||
param_ports:
|
||||
- {external_port: "5076", internal_port: "5076", port_desc: "WebUI"}
|
||||
opt_param_usage_include_vols: true
|
||||
opt_param_volumes:
|
||||
- {vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "NZB download folder."}
|
||||
- { external_port: "5076", internal_port: "5076", port_desc: "WebUI" }
|
||||
param_device_map: false
|
||||
cap_add_param: false
|
||||
|
||||
# optional container parameters
|
||||
opt_param_usage_include_env: false
|
||||
opt_param_usage_include_vols: false
|
||||
opt_param_usage_include_ports: false
|
||||
opt_param_device_map: false
|
||||
opt_cap_add_param: false
|
||||
optional_block_1: false
|
||||
|
||||
# application setup block
|
||||
app_setup_block_enabled: true
|
||||
app_setup_block: |
|
||||
The web interface is at `<your ip>:5076`, to set up indexers and connections to your nzb download applications.
|
||||
# init diagram
|
||||
init_diagram: |
|
||||
"nzbhydra2:dev": {
|
||||
docker-mods
|
||||
base {
|
||||
fix-attr +\nlegacy cont-init
|
||||
}
|
||||
docker-mods -> base
|
||||
legacy-services
|
||||
custom services
|
||||
init-services -> legacy-services
|
||||
init-services -> custom services
|
||||
custom services -> legacy-services
|
||||
legacy-services -> ci-service-check
|
||||
init-migrations -> init-adduser
|
||||
init-os-end -> init-config
|
||||
init-config -> init-config-end
|
||||
init-crontab-config -> init-config-end
|
||||
init-nzbhydra2-config -> init-config-end
|
||||
init-config -> init-crontab-config
|
||||
init-mods-end -> init-custom-files
|
||||
init-adduser -> init-device-perms
|
||||
base -> init-envfile
|
||||
base -> init-migrations
|
||||
init-config-end -> init-mods
|
||||
init-mods-package-install -> init-mods-end
|
||||
init-mods -> init-mods-package-install
|
||||
init-config -> init-nzbhydra2-config
|
||||
init-adduser -> init-os-end
|
||||
init-device-perms -> init-os-end
|
||||
init-envfile -> init-os-end
|
||||
init-custom-files -> init-services
|
||||
init-services -> svc-cron
|
||||
svc-cron -> legacy-services
|
||||
init-services -> svc-nzbhydra2
|
||||
svc-nzbhydra2 -> legacy-services
|
||||
}
|
||||
Base Images: {
|
||||
"baseimage-ubuntu:noble"
|
||||
}
|
||||
"nzbhydra2:dev" <- Base Images
|
||||
The web interface is at `<your ip>:5076` , to set up indexers and connections to your nzb download applications.
|
||||
|
||||
# changelog
|
||||
|
||||
changelogs:
|
||||
- {date: "18.07.24:", desc: "Rebase to Ubuntu Noble. Remove standalone JRE ([#47](https://github.com/linuxserver/docker-nzbhydra2/pull/47))."}
|
||||
- {date: "04.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"}
|
||||
- {date: "22.01.23:", desc: "Update release URL for arch-specific packages."}
|
||||
- {date: "20.01.23:", desc: "Update dependencies for v5."}
|
||||
- {date: "03.23.22:", desc: "Upgrade JRE to 17, rebase to ubuntu."}
|
||||
- {date: "18.04.22:", desc: "Rebase to Alpine 3.15."}
|
||||
- {date: "01.05.20:", desc: "Reorganize container, Relocate app to /app/nzbhydra2/bin, Create /app/nzbhydra2/package_info, Use nzbhydra2wrapperPy3.py from zip."}
|
||||
- {date: "29.04.20:", desc: "Include stable releases incrementally with dev releases."}
|
||||
- {date: "14.04.20:", desc: "Correct Name, Hydra2 -> Nzbhydra2."}
|
||||
- {date: "08.01.20:", desc: "Switch to python3."}
|
||||
- {date: "05.01.20:", desc: "Add dev tag for prereleases."}
|
||||
- {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."}
|
||||
- {date: "11.02.19:", desc: "Add pipeline logic and multi arch."}
|
||||
- {date: "18.08.18:", desc: "Bump java version to 10, (bionic currently refers to it as version 11)."}
|
||||
- {date: "10.08.18:", desc: "Rebase to ubuntu bionic."}
|
||||
- {date: "15.04.18:", desc: "Change to port 5076 in the Dockerfile."}
|
||||
- {date: "11.01.18:", desc: "Initial Release."}
|
||||
- { date: "22.01.23:", desc: "Update release URL for arch-specific packages." }
|
||||
- { date: "20.01.23:", desc: "Update dependencies for v5." }
|
||||
- { date: "10.12.22:", desc: "Bump master JRE to v17. Default mapIpToHost to false." }
|
||||
- { date: "11.09.22:", desc: "Migrate to s6v3." }
|
||||
- { date: "03.05.22:", desc: "Rebase to Jammy." }
|
||||
- { date: "18.04.22:", desc: "Rebase to Alpine 3.15." }
|
||||
- { date: "01.05.20:", desc: "Reorganize container, Relocate app to /app/nzbhydra2/bin, Create /app/nzbhydra2/package_info, Use nzbhydra2wrapperPy3.py from zip." }
|
||||
- { date: "14.04.20:", desc: "Correct Name, Hydra2 -> NZBHydra2." }
|
||||
- { date: "08.01.20:", desc: "Switch to python3." }
|
||||
- { date: "05.01.20:", desc: "Add dev tag for prereleases." }
|
||||
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
||||
- { date: "11.02.19:", desc: "Add pipeline logic and multi arch." }
|
||||
- { date: "18.08.18:", desc: "Bump java version to 10, (bionic currently refers to it as version 11)." }
|
||||
- { date: "10.08.18:", desc: "Rebase to ubuntu bionic." }
|
||||
- { date: "15.04.18:", desc: "Change to port 5076 in the Dockerfile." }
|
||||
- { date: "11.01.18:", desc: "Initial Release." }
|
||||
|
||||
Regular → Executable
Reference in New Issue
Block a user