Compare commits

..
97 Commits
Author SHA1 Message Date
LinuxServer-CI b21bdec711 Bot Updating Package Versions 2021-08-22 11:12:58 +02:00
LinuxServer-CI b5736bb12a Bot Updating Package Versions 2021-08-05 18:36:12 +02:00
LinuxServer-CI b3601ffc01 Bot Updating Package Versions 2021-08-01 11:14:00 +02:00
LinuxServer-CI 02dc6a16fa Bot Updating Package Versions 2021-07-25 11:14:21 +02:00
LinuxServer-CI f4dbddeb4b Bot Updating Package Versions 2021-07-10 10:26:13 +00:00
LinuxServer-CI e47e79801b Bot Updating Package Versions 2021-07-04 09:25:47 +00:00
LinuxServer-CI 46d7e3a221 Bot Updating Templated Files 2021-07-04 09:13:00 +00:00
LinuxServer-CI 34fb5897af Bot Updating Templated Files 2021-07-04 09:11:28 +00:00
LinuxServer-CI 1cd8c66131 Bot Updating Package Versions 2021-06-13 05:18:28 -04:00
LinuxServer-CI 262fad1c50 Bot Updating Package Versions 2021-05-23 02:45:15 -04:00
LinuxServer-CI e9bbad1193 Bot Updating Package Versions 2021-05-02 09:28:08 +00:00
LinuxServer-CI 404ab4b551 Bot Updating Package Versions 2021-04-22 10:35:30 +00:00
LinuxServer-CI 99f2f154d5 Bot Updating Package Versions 2021-04-18 10:28:21 +01:00
LinuxServer-CI 92546ff830 Bot Updating Templated Files 2021-04-18 09:19:00 +00:00
LinuxServer-CI e50d6cae43 Bot Updating Templated Files 2021-04-18 05:17:29 -04:00
LinuxServer-CI ceb192e9e4 Bot Updating Package Versions 2021-04-11 09:23:28 +00:00
LinuxServer-CI 6bc404ce26 Bot Updating Package Versions 2021-04-04 10:23:13 +01:00
LinuxServer-CI e512705769 Bot Updating Package Versions 2021-03-28 09:24:14 +00:00
LinuxServer-CI 719c7f7363 Bot Updating Package Versions 2021-03-20 18:42:52 +00:00
LinuxServer-CI 3fd2c6f545 Bot Updating Package Versions 2021-03-10 07:40:53 -05:00
LinuxServer-CI 68a50f9a6b Bot Updating Package Versions 2021-02-28 09:19:22 +00:00
LinuxServer-CI ebea843010 Bot Updating Package Versions 2021-02-23 16:27:02 -05:00
LinuxServer-CI 87ca0c66d5 Bot Updating Package Versions 2021-02-13 11:31:58 +00:00
LinuxServer-CI 1d53de44f0 Bot Updating Templated Files 2021-02-13 11:24:19 +00:00
LinuxServer-CI b803ecca4d Bot Updating Templated Files 2021-02-13 06:23:01 -05:00
LinuxServer-CI 763a1bbebf Bot Updating Package Versions 2021-02-07 09:19:41 +00:00
LinuxServer-CI 9b1fef364b Bot Updating Package Versions 2021-01-29 13:40:39 +00:00
LinuxServer-CI dcedab9ee6 Bot Updating Package Versions 2021-01-24 04:51:43 -05:00
LinuxServer-CI 5fa2e3c7c2 Bot Updating Package Versions 2021-01-16 12:59:09 +00:00
LinuxServer-CI 7b9330fa99 Bot Updating Templated Files 2021-01-16 12:51:50 +00:00
LinuxServer-CI 973ce9335e Bot Updating Package Versions 2021-01-09 10:51:29 +00:00
LinuxServer-CI b4f7614677 Bot Updating Package Versions 2020-12-19 07:39:37 -05:00
LinuxServer-CI 5eaa88e5d6 Bot Updating Package Versions 2020-12-16 18:53:44 +00:00
LinuxServer-CI bd6136e12f Bot Updating Templated Files 2020-12-16 18:50:19 +00:00
LinuxServer-CI 32953e5ed2 Bot Updating Templated Files 2020-12-16 13:48:41 -05:00
LinuxServer-CI 273077ddd7 Bot Updating Package Versions 2020-12-14 13:08:00 -05:00
LinuxServer-CI 63f815bf25 Bot Updating Package Versions 2020-12-06 04:10:22 +00:00
LinuxServer-CI 8333572eae Bot Updating Package Versions 2020-11-15 16:08:37 +00:00
LinuxServer-CI 66baf5fd4e Bot Updating Package Versions 2020-11-02 15:11:47 +00:00
LinuxServer-CI faf6fcd9b3 Bot Updating Templated Files 2020-11-02 15:04:37 +00:00
thelamer ccdbc0d1fc update baseimages 2020-11-02 07:02:16 -08:00
LinuxServer-CI 8b4c553f3d Bot Updating Package Versions 2020-10-31 20:09:09 +00:00
LinuxServer-CI be04065f0e Bot Updating Package Versions 2020-10-20 16:07:30 -04:00
LinuxServer-CI fdb433e87f Bot Updating Package Versions 2020-10-19 23:10:27 -04:00
LinuxServer-CI 215efd2683 Bot Updating Templated Files 2020-10-19 23:04:07 -04:00
LinuxServer-CI fe43937cdf Bot Updating Templated Files 2020-10-19 23:02:59 -04:00
LinuxServer-CI a50098880d Bot Updating Package Versions 2020-09-12 05:07:15 -04:00
LinuxServer-CI 58ff104718 Bot Updating Package Versions 2020-09-03 16:49:41 -04:00
LinuxServer-CI 21a878c5bd Bot Updating Package Versions 2020-09-01 07:09:06 +00:00
LinuxServer-CI 85bf67cb5f Bot Updating Package Versions 2020-08-24 21:10:53 +00:00
LinuxServer-CI c7fae073c6 Bot Updating Templated Files 2020-08-24 17:04:24 -04:00
LinuxServer-CI 758ccc1e9a Bot Updating Templated Files 2020-08-24 21:03:26 +00:00
LinuxServer-CI 6c170cc8bf Bot Updating Package Versions 2020-07-03 01:07:47 -04:00
LinuxServer-CI c344c0e7bb Bot Updating Package Versions 2020-06-29 21:08:09 +00:00
LinuxServer-CI 03bb57a915 Bot Updating Package Versions 2020-06-03 12:08:27 -04:00
LinuxServer-CI 368e3c2828 Bot Updating Templated Files 2020-06-03 16:03:16 +00:00
LinuxServer-CI 4ce6db323d Bot Updating Package Versions 2020-05-31 13:19:41 +00:00
LinuxServer-CI 72aee7d2df Bot Updating Templated Files 2020-05-31 09:14:24 -04:00
LinuxServer-CI 2a8b9fb145 Bot Updating Package Versions 2020-05-20 16:07:57 -04:00
LinuxServer-CI 4ed02aba6d Bot Updating Package Versions 2020-05-13 19:07:12 +02:00
Eric NemchikandGitHub 1d213f19e8 Merge pull request #8 from linuxserver/package_info-master
Reorganize container master
2020-05-01 17:57:08 -05:00
Eric Nemchik f12a86f620 Remove UpdateMethod 2020-05-01 13:55:31 -05:00
Eric Nemchik 56f374f59a Reorganize container
Relocate app to /app/nzbhydra2/bin
Create /app/nzbhydra2/package_info
Use nzbhydra2wrapperPy3.py from zip
2020-05-01 10:32:50 -05:00
LinuxServer-CI bd63218ebe Bot Updating Templated Files 2020-04-28 17:02:53 +00:00
LinuxServer-CI 6265517e19 Bot Updating Package Versions 2020-04-27 16:07:33 +00:00
LinuxServer-CI 7f13e9c443 Bot Updating Package Versions 2020-04-23 02:07:41 -04:00
LinuxServer-CI d926aee5e3 Bot Updating Package Versions 2020-04-15 02:50:14 +01:00
Eric NemchikandGitHub 5ac25f7d08 Merge pull request #1 from linuxserver/nzbhydra2
Correct Name
2020-04-14 20:40:57 -05:00
aptalcaandGitHub 3286b4d1fc Merge branch 'master' into nzbhydra2 2020-04-14 19:50:39 -04:00
Eric Nemchik f92bbc6011 Update changelog date 2020-04-14 17:17:43 -05:00
Eric Nemchik 7aeb6a3e34 Jenkins updates 2020-04-14 14:36:02 -05:00
LinuxServer-CI 421e722315 Bot Updating Templated Files 2020-04-14 14:42:02 -04:00
LinuxServer-CI 3c1cdfbb66 Bot Updating Templated Files 2020-04-14 14:40:57 -04:00
aptalcaandGitHub 98893cebc9 Merge pull request #34 from linuxserver/donate
Add donate link
2020-04-14 14:40:00 -04:00
Eric NemchikandGitHub f4b889dc7c Add donate link 2020-04-14 13:08:55 -05:00
LinuxServer-CI b612cd22f0 Bot Updating Package Versions 2020-04-10 05:51:30 -05:00
LinuxServer-CI 053b1ba5a8 Bot Updating Templated Files 2020-04-10 10:46:04 +00:00
LinuxServer-CI ef3efdc5bc Bot Updating Package Versions 2020-03-27 11:58:27 +00:00
LinuxServer-CI 55a4c014f3 Bot Updating Package Versions 2020-03-20 12:49:29 +01:00
LinuxServer-CI 6add88a07a Bot Updating Package Versions 2020-03-13 13:02:45 +01:00
LinuxServer-CI d79b2c963a Bot Updating Package Versions 2020-02-19 18:26:02 +00:00
LinuxServer-CI 6de658a24b Bot Updating Package Versions 2020-02-12 12:49:34 -05:00
Eric Nemchik c514b9c7ff Correct Name 2020-02-12 11:22:33 -06:00
LinuxServer-CI 6e73b38915 Bot Updating Package Versions 2020-02-06 15:13:37 +00:00
LinuxServer-CI 8fb719df38 Bot Updating Package Versions 2020-01-31 11:49:42 +00:00
LinuxServer-CI f7951c52ef Bot Updating Package Versions 2020-01-24 06:50:48 -05:00
LinuxServer-CI 27f878f932 Bot Updating Package Versions 2020-01-20 12:10:37 -05:00
LinuxServer-CI 87041b87f8 Bot Updating Templated Files 2020-01-20 12:04:29 -05:00
RoxedusandRyan Kuba 1281cb7048 Update readme-vars.yml
Remove beta state of the application. 
Added migration note based on @iXNyNe's comment in the discord server
discordapp.com/channels/354974912613449730/506925392603512839/664936745862823987
2020-01-20 09:02:52 -08:00
LinuxServer-CI d59e06317d Bot Updating Package Versions 2020-01-15 16:22:27 -05:00
LinuxServer-CI 5df31b5700 Bot Updating Package Versions 2020-01-12 19:26:36 +00:00
LinuxServer-CI fcb52a9093 Bot Updating Templated Files 2020-01-12 20:16:51 +01:00
Eric NemchikandRyan Kuba 501d213242 Use nzbhydra2wrapperPy3.py 2020-01-12 11:15:51 -08:00
Eric NemchikandRyan Kuba d659263231 switch to python3 2020-01-12 11:15:51 -08:00
LinuxServer-CI b34e11688a Bot Updating Package Versions 2020-01-10 11:50:18 +00:00
saargandGitHub dbf0b36f49 Merge pull request #27 from linuxserver/readme
Add dev tag
2020-01-07 00:06:22 +01:00
aptalca 476d98f2e3 Add dev tag 2020-01-05 11:40:07 -05:00
39 changed files with 1014 additions and 1604 deletions
+1 -1
View File
@@ -15,6 +15,6 @@ trim_trailing_whitespace = false
indent_style = space
indent_size = 2
[{**.sh,root/etc/s6-overlay/s6-rc.d/**,root/etc/cont-init.d/**,root/etc/services.d/**}]
[{**.sh,root/etc/cont-init.d/**,root/etc/services.d/**}]
indent_style = space
indent_size = 4
+5 -5
View File
@@ -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 -1
View File
@@ -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
+40
View File
@@ -0,0 +1,40 @@
---
name: Bug report
about: Create a report to help us improve
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- Provide a general summary of the bug in the Title above -->
------------------------------
## Expected Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Environment
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Command used to create docker container (run/create/compose/screenshot)
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container -->
## Docker logs
<!--- Provide a full docker log, output of "docker logs nzbhydra2" -->
-76
View File
@@ -1,76 +0,0 @@
# Based on the issue template
name: Bug report
description: Create a report to help us improve
title: "[BUG] <title>"
labels: [Bug]
body:
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Current Behavior
description: Tell us what happens instead of the expected behavior.
validations:
required: true
- type: textarea
attributes:
label: Expected Behavior
description: Tell us what should happen.
validations:
required: false
- type: textarea
attributes:
label: Steps To Reproduce
description: Steps to reproduce the behavior.
placeholder: |
1. In this environment...
2. With this config...
3. Run '...'
4. See error...
validations:
required: true
- type: textarea
attributes:
label: Environment
description: |
examples:
- **OS**: Ubuntu 20.04
- **How docker service was installed**: distro's packagemanager
value: |
- OS:
- How docker service was installed:
render: markdown
validations:
required: false
- type: dropdown
attributes:
label: CPU architecture
options:
- x86-64
- arm64
validations:
required: true
- type: textarea
attributes:
label: Docker creation
description: |
Command used to create docker container
Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container
render: bash
validations:
required: true
- type: textarea
attributes:
description: |
Provide a full docker log, output of "docker logs nzbhydra2"
label: Container logs
placeholder: |
Output of `docker logs nzbhydra2`
render: bash
validations:
required: true
+25
View File
@@ -0,0 +1,25 @@
---
name: Feature request
about: Suggest an idea for this project
---
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
<!--- If this acts as a feature request please ask yourself if this modification is something the whole userbase will benefit from --->
<!--- If this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
<!--- Provide a general summary of the request in the Title above -->
------------------------------
## Desired Behavior
<!--- Tell us what should happen -->
## Current Behavior
<!--- Tell us what happens instead of the expected behavior -->
## Alternatives Considered
<!--- Tell us what other options you have tried or considered -->
-31
View File
@@ -1,31 +0,0 @@
# Based on the issue template
name: Feature request
description: Suggest an idea for this project
title: "[FEAT] <title>"
labels: [enhancement]
body:
- type: checkboxes
attributes:
label: Is this a new feature request?
description: Please search to see if a feature request already exists.
options:
- label: I have searched the existing issues
required: true
- type: textarea
attributes:
label: Wanted change
description: Tell us what you want to happen.
validations:
required: true
- type: textarea
attributes:
label: Reason for change
description: Justify your request, why do you want it, what is the benefit.
validations:
required: true
- type: textarea
attributes:
label: Proposed code change
description: Do you have a potential code change in mind?
validations:
required: false
+1 -1
View File
@@ -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
------------------------------
@@ -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
-16
View File
@@ -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
+52 -107
View File
@@ -3,145 +3,90 @@ 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@v2.3.3
- 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}")
if [[ $(echo $image_info | jq -r '.container_config') == "null" ]]; then
image_info=$(echo $image_info | jq -r '.config')
else
image_info=$(echo $image_info | jq -r '.container_config')
fi
"https://ghcr.io/v2/${image}/blobs/${digest}" \
| jq -r '.container_config')
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@v2.3.3
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 -8
View File
@@ -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)!'
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [bug](https://github.com/linuxserver/docker-nzbhydra2/blob/master/.github/ISSUE_TEMPLATE/issue.bug.md) or [feature](https://github.com/linuxserver/docker-nzbhydra2/blob/master/.github/ISSUE_TEMPLATE/issue.feature.md) issue templates!'
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-nzbhydra2/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
repo-token: ${{ secrets.GITHUB_TOKEN }}
+38
View File
@@ -0,0 +1,38 @@
name: Package Trigger Main
on:
workflow_dispatch:
jobs:
package-trigger-master:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2.3.3
- 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"
+29 -82
View File
@@ -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@v2.3.3
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 }}
-12
View File
@@ -1,12 +0,0 @@
name: Permission check
on:
pull_request_target:
paths:
- '**/run'
- '**/finish'
- '**/check'
- 'root/migrations/*'
jobs:
permission_check:
uses: linuxserver/github-workflows/.github/workflows/init-svc-executable-permissions.yml@v1
+23
View File
@@ -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@v3
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 }}
+30 -42
View File
@@ -1,6 +1,4 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:noble
FROM ghcr.io/linuxserver/baseimage-ubuntu:bionic
# set version label
ARG BUILD_DATE
@@ -10,51 +8,41 @@ 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 \
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'); \
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}-amd64-linux.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 && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
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
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y \
curl \
jq \
unzip && \
apt-get install --no-install-recommends -y \
openjdk-11-jre-headless \
python3 && \
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}-linux.zip" && \
mkdir -p /app/nzbhydra2/bin && \
unzip /tmp/nzbhydra2.zip -d /app/nzbhydra2/bin && \
chmod +x /app/nzbhydra2/bin/nzbhydra2wrapperPy3.py && \
echo "ReleaseType=${NZBHYDRA2_RELEASE_TYPE}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/nzbhydra2/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 5076
VOLUME /config
+30 -42
View File
@@ -1,6 +1,4 @@
# syntax=docker/dockerfile:1
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-bionic
# set version label
ARG BUILD_DATE
@@ -10,51 +8,41 @@ 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 \
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'); \
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}-arm64-linux.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 && \
printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \
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
echo "**** install packages ****" && \
apt-get update && \
apt-get install -y \
curl \
jq \
unzip && \
apt-get install --no-install-recommends -y \
openjdk-11-jre-headless \
python3 && \
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}-linux.zip" && \
mkdir -p /app/nzbhydra2/bin && \
unzip /tmp/nzbhydra2.zip -d /app/nzbhydra2/bin && \
chmod +x /app/nzbhydra2/bin/nzbhydra2wrapperPy3.py && \
echo "ReleaseType=${NZBHYDRA2_RELEASE_TYPE}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/nzbhydra2/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 5076
VOLUME /config
+48
View File
@@ -0,0 +1,48 @@
FROM ghcr.io/linuxserver/baseimage-ubuntu:arm32v7-bionic
# 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 -y \
curl \
jq \
unzip && \
apt-get install --no-install-recommends -y \
openjdk-11-jre-headless \
python3 && \
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}-linux.zip" && \
mkdir -p /app/nzbhydra2/bin && \
unzip /tmp/nzbhydra2.zip -d /app/nzbhydra2/bin && \
chmod +x /app/nzbhydra2/bin/nzbhydra2wrapperPy3.py && \
echo "ReleaseType=${NZBHYDRA2_RELEASE_TYPE}\nPackageVersion=${VERSION}\nPackageAuthor=linuxserver.io" > /app/nzbhydra2/package_info && \
echo "**** cleanup ****" && \
rm -rf \
/tmp/* \
/var/lib/apt/lists/* \
/var/tmp/*
# copy local files
COPY root/ /
# ports and volumes
EXPOSE 5076
VOLUME /config
Vendored
+360 -744
View File
File diff suppressed because it is too large Load Diff
+78 -138
View File
@@ -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 -->
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://linuxserver.io/discord "realtime support / chat with the community and the team.")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Discord&logo=discord)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=discourse)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![GitHub](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub&logo=github)](https://github.com/linuxserver "view the source for all of our repositories.")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=Supporters&logo=open%20collective)](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
@@ -19,78 +21,76 @@ 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)
[![Scarf.io pulls](https://scarf.sh/installs-badge/linuxserver-ci/linuxserver%2Fnzbhydra2?color=94398d&label-color=555555&logo-color=ffffff&style=for-the-badge&package-type=docker)](https://scarf.sh)
[![GitHub Stars](https://img.shields.io/github/stars/linuxserver/docker-nzbhydra2.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-nzbhydra2)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-nzbhydra2.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&logo=github)](https://github.com/linuxserver/docker-nzbhydra2/releases)
[![GitHub Package Repository](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitHub%20Package&logo=github)](https://github.com/linuxserver/docker-nzbhydra2/packages)
[![GitLab Container Registry](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=GitLab%20Registry&logo=gitlab)](https://gitlab.com/linuxserver.io/docker-nzbhydra2/container_registry)
[![Quay.io](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Quay.io)](https://quay.io/repository/linuxserver.io/nzbhydra2)
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/nzbhydra2.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=pulls&logo=docker)](https://hub.docker.com/r/linuxserver/nzbhydra2)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/nzbhydra2.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=stars&logo=docker)](https://hub.docker.com/r/linuxserver/nzbhydra2)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-nzbhydra2%2Fjob%2Fdev%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/dev/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fnzbhydra2%2Fdev%2Fci-status.yml)](https://ci-tests.linuxserver.io/linuxserver/nzbhydra2/dev/index.html)
[![Jenkins Build](https://img.shields.io/jenkins/build?labelColor=555555&logoColor=ffffff&style=for-the-badge&jobUrl=https%3A%2F%2Fci.linuxserver.io%2Fjob%2FDocker-Pipeline-Builders%2Fjob%2Fdocker-nzbhydra2%2Fjob%2Fmaster%2F&logo=jenkins)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-nzbhydra2/job/master/)
[![LSIO CI](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=CI&query=CI&url=https%3A%2F%2Fci-tests.linuxserver.io%2Flinuxserver%2Fnzbhydra2%2Flatest%2Fci-status.yml)](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`
[![nzbhydra2](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/hydra-icon.png)](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/).
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. 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 `ghcr.io/linuxserver/nzbhydra2` 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:
| Architecture | Available | Tag |
| :----: | :----: | ---- |
| x86-64 | ✅ | amd64-\<version tag\> |
| arm64 | ✅ | arm64v8-\<version tag\> |
| Architecture | Tag |
| :----: | --- |
| x86-64 | amd64-latest |
| arm64 | arm64v8-latest |
| armhf | arm32v7-latest |
## 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.
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
| Tag | Available | Description |
| :----: | :----: |--- |
| latest | ✅ | Stable releases |
| dev | ✅ | Prereleases from their GitHub |
| Tag | Description |
| :----: | --- |
| 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: ghcr.io/linuxserver/nzbhydra2
container_name: nzbhydra2
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- TZ=Europe/London
volumes:
- /path/to/nzbhydra2/data:/config
- /path/to/downloads:/downloads #optional
- <path to data>:/config
- <nzb download>:/downloads
ports:
- 5076:5076
restart: unless-stopped
@@ -103,25 +103,25 @@ docker run -d \
--name=nzbhydra2 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Etc/UTC \
-e TZ=Europe/London \
-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
ghcr.io/linuxserver/nzbhydra2
```
## 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. |
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
| `-v /config` | Where nzbhydra2 should store config files. |
| `-v /downloads` | NZB download folder. |
## Environment variables from files (Docker secrets)
@@ -131,10 +131,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 +143,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 +162,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" }}' ghcr.io/linuxserver/nzbhydra2`
## 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 ghcr.io/linuxserver/nzbhydra2`
* 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 +220,21 @@ cd docker-nzbhydra2
docker build \
--no-cache \
--pull \
-t lscr.io/linuxserver/nzbhydra2:dev .
-t ghcr.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.
* **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.
+10 -8
View File
@@ -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_WEBPATH='/system/about'
- CI_DOCKERENV='TZ=US/Pacific'
- CI_AUTH='user:password'
- CI_WEBPATH=''
sponsor_links:
- { name: "NZBHydra 2", url: "https://github.com/theotherp/nzbhydra2#donate" }
+165 -155
View File
@@ -1,155 +1,165 @@
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.116ubuntu1
apt1.6.14
apt-utils1.6.14
base-files10.1ubuntu2.10
base-passwd3.5.44
bash4.4.18-2ubuntu1.2
bsdutils1:2.31.1-0.4ubuntu3.7
bzip21.0.6-8.1ubuntu0.2
ca-certificates20210119~18.04.1
ca-certificates-java20180516ubuntu1~18.04.1
coreutils8.28-1ubuntu1
curl7.58.0-2ubuntu3.14
dash0.5.8-2.10
debconf1.5.66ubuntu1
debianutils4.8.4
diffutils1:3.6-1
dpkg1.19.0.5ubuntu2.3
e2fsprogs1.44.1-1ubuntu1.3
fdisk2.31.1-0.4ubuntu3.7
findutils4.6.0+git+20170828-2
fontconfig-config2.12.6-0ubuntu2
fonts-dejavu-core2.37-1
gcc-8-base8.4.0-1ubuntu1~18.04
gpgv2.2.4-1ubuntu1.4
grep3.1-2build1
gzip1.6-5ubuntu1.1
hostname3.20
init-system-helpers1.51
java-common0.68ubuntu1~18.04.1
jq1.5+dfsg-2
krb5-locales1.16-2ubuntu0.2
libacl12.2.52-3build1
libapt-inst2.01.6.14
libapt-pkg5.01.6.14
libasn1-8-heimdal7.5.0+dfsg-1
libasound21.1.3-5ubuntu0.6
libasound2-data1.1.3-5ubuntu0.6
libattr11:2.4.47-2build1
libaudit11:2.8.2-1ubuntu1.1
libaudit-common1:2.8.2-1ubuntu1.1
libavahi-client30.7-3.1ubuntu1.3
libavahi-common30.7-3.1ubuntu1.3
libavahi-common-data0.7-3.1ubuntu1.3
libblkid12.31.1-0.4ubuntu3.7
libbz2-1.01.0.6-8.1ubuntu0.2
libc62.27-3ubuntu1.4
libcap-ng00.7.7-3.1
libc-bin2.27-3ubuntu1.4
libcom-err21.44.1-1ubuntu1.3
libcups22.2.7-1ubuntu2.8
libcurl47.58.0-2ubuntu3.14
libdb5.35.3.28-13.1ubuntu1.1
libdbus-1-31.12.2-1ubuntu1.2
libdebconfclient00.213ubuntu1
libexpat12.2.5-3ubuntu0.2
libext2fs21.44.1-1ubuntu1.3
libfdisk12.31.1-0.4ubuntu3.7
libffi63.2.1-8
libfontconfig12.12.6-0ubuntu2
libfreetype62.8.1-2ubuntu2.1
libgcc11:8.4.0-1ubuntu1~18.04
libgcrypt201.8.1-4ubuntu1.2
libglib2.0-02.56.4-0ubuntu0.18.04.8
libgmp102:6.1.2+dfsg-2
libgnutls303.5.18-1ubuntu1.4
libgpg-error01.27-6
libgraphite2-31.3.11-2
libgssapi3-heimdal7.5.0+dfsg-1
libgssapi-krb5-21.16-2ubuntu0.2
libharfbuzz0b1.7.2-1ubuntu1
libhcrypto4-heimdal7.5.0+dfsg-1
libheimbase1-heimdal7.5.0+dfsg-1
libheimntlm0-heimdal7.5.0+dfsg-1
libhogweed43.4.1-0ubuntu0.18.04.1
libhx509-5-heimdal7.5.0+dfsg-1
libidn2-02.0.4-1.1ubuntu0.2
libjpeg88c-2ubuntu8
libjpeg-turbo81.5.2-0ubuntu5.18.04.4
libjq11.5+dfsg-2
libk5crypto31.16-2ubuntu0.2
libkeyutils11.5.9-9.2ubuntu2
libkrb5-26-heimdal7.5.0+dfsg-1
libkrb5-31.16-2ubuntu0.2
libkrb5support01.16-2ubuntu0.2
liblcms2-22.9-1ubuntu0.1
libldap-2.4-22.4.45+dfsg-1ubuntu1.10
libldap-common2.4.45+dfsg-1ubuntu1.10
liblz4-10.0~r131-2ubuntu3.1
liblzma55.2.2-1.3
libmount12.31.1-0.4ubuntu3.7
libmpdec22.4.2-1ubuntu1
libncurses56.1-1ubuntu1.18.04
libncursesw56.1-1ubuntu1.18.04
libnettle63.4.1-0ubuntu0.18.04.1
libnghttp2-141.30.0-1ubuntu1
libnspr42:4.18-1ubuntu1
libnss32:3.35-2ubuntu2.12
libonig46.7.0-1
libp11-kit00.23.9-2ubuntu0.1
libpam0g1.1.8-3.6ubuntu2.18.04.3
libpam-modules1.1.8-3.6ubuntu2.18.04.3
libpam-modules-bin1.1.8-3.6ubuntu2.18.04.3
libpam-runtime1.1.8-3.6ubuntu2.18.04.3
libpcre32:8.39-9
libpcsclite11.8.23-1
libpng16-161.6.34-1ubuntu0.18.04.2
libprocps62:3.3.12-3ubuntu1.2
libpsl50.19.1-5build1
libpython3.6-minimal3.6.9-1~18.04ubuntu1.4
libpython3.6-stdlib3.6.9-1~18.04ubuntu1.4
libpython3-stdlib3.6.7-1~18.04
libreadline77.0-3
libroken18-heimdal7.5.0+dfsg-1
librtmp12.4+20151223.gitfa8646d.1-1
libsasl2-22.1.27~101-g0780600+dfsg-3ubuntu2.3
libsasl2-modules2.1.27~101-g0780600+dfsg-3ubuntu2.3
libsasl2-modules-db2.1.27~101-g0780600+dfsg-3ubuntu2.3
libseccomp22.5.1-1ubuntu1~18.04.1
libselinux12.7-2build2
libsemanage12.7-2build2
libsemanage-common2.7-2build2
libsepol12.7-1
libsmartcols12.31.1-0.4ubuntu3.7
libsqlite3-03.22.0-1ubuntu0.4
libss21.44.1-1ubuntu1.3
libssl1.11.1.1-1ubuntu2.1~18.04.10
libstdc++68.4.0-1ubuntu1~18.04
libsystemd0237-3ubuntu10.51
libtasn1-64.13-2
libtinfo56.1-1ubuntu1.18.04
libudev1237-3ubuntu10.51
libunistring20.9.9-0ubuntu2
libuuid12.31.1-0.4ubuntu3.7
libwind0-heimdal7.5.0+dfsg-1
libzstd11.3.3+dfsg-2ubuntu1.2
locales2.27-3ubuntu1.4
login1:4.5-1ubuntu2
lsb-base9.20170808ubuntu1
mawk1.3.3-17ubuntu3
mime-support3.60ubuntu1
mount2.31.1-0.4ubuntu3.7
multiarch-support2.27-3ubuntu1.4
ncurses-base6.1-1ubuntu1.18.04
ncurses-bin6.1-1ubuntu1.18.04
openjdk-11-jre-headless11.0.11+9-0ubuntu2~18.04
openssl1.1.1-1ubuntu2.1~18.04.10
passwd1:4.5-1ubuntu2
perl-base5.26.1-6ubuntu0.5
procps2:3.3.12-3ubuntu1.2
publicsuffix20180223.1310-1
python33.6.7-1~18.04
python3.63.6.9-1~18.04ubuntu1.4
python3.6-minimal3.6.9-1~18.04ubuntu1.4
python3-minimal3.6.7-1~18.04
readline-common7.0-3
sed4.4-2
sensible-utils0.0.12
sysvinit-utils2.88dsf-59.10ubuntu1
tar1.29b-2ubuntu0.2
tzdata2021a-0ubuntu0.18.04
ubuntu-keyring2018.09.18.1~18.04.2
ucf3.0038
unzip6.0-21ubuntu1.1
util-linux2.31.1-0.4ubuntu3.7
zlib1g1:1.2.11.dfsg-0ubuntu2
+41 -69
View File
@@ -7,90 +7,62 @@ 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: "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
View File
+9
View File
@@ -0,0 +1,9 @@
#!/usr/bin/with-contenv bash
# make our folders
mkdir -p /config/logs
# permissions
chmod +x /app/nzbhydra2/bin/nzbhydra2
chown -R abc:abc /config
@@ -1,13 +0,0 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# make our folders
mkdir -p /config/logs
if [[ ! -f /config/nzbhydra.yml ]]; then
cp /defaults/nzbhydra.yml /config/nzbhydra.yml
fi
# permissions
lsiown -R abc:abc \
/config
@@ -1 +0,0 @@
oneshot
@@ -1 +0,0 @@
/etc/s6-overlay/s6-rc.d/init-nzbhydra2-config/run
@@ -1 +0,0 @@
3
@@ -1,9 +0,0 @@
#!/usr/bin/with-contenv bash
# shellcheck shell=bash
# unset unraid specific ENV to avoid crashing
unset HOST_OS
exec \
s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 5076" \
cd /app/nzbhydra2 s6-setuidgid abc /usr/bin/python3 nzbhydra2wrapperPy3.py --nobrowser --datafolder /config
@@ -1 +0,0 @@
longrun
+10
View File
@@ -0,0 +1,10 @@
#!/usr/bin/with-contenv bash
# unset unraid specific ENV to avoid crashing
unset HOST_OS
cd /app/nzbhydra2/bin || exit
exec \
s6-setuidgid abc /usr/bin/python3 nzbhydra2wrapperPy3.py \
--nobrowser --datafolder /config