diff --git a/Dockerfile b/Dockerfile index 72fbeea..035c59d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,7 +2,7 @@ FROM ghcr.io/linuxserver/unrar:latest as unrar -FROM ghcr.io/linuxserver/baseimage-alpine:3.19 +FROM ghcr.io/linuxserver/baseimage-alpine:3.20 # set version label ARG BUILD_DATE @@ -44,11 +44,7 @@ RUN \ pip install -U --no-cache-dir \ pip \ wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ \ - apprise \ - pynzb \ - requests && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ -r requirements.txt && \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.20/ -r requirements.txt && \ echo "**** build sab translations ****" && \ python3 tools/make_mo.py && \ echo "**** install par2cmdline-turbo from source ****" && \ @@ -67,18 +63,7 @@ RUN \ make && \ make check && \ make install && \ - echo "**** install nzb-notify ****" && \ - NZBNOTIFY_VERSION=$(curl -s https://api.github.com/repos/caronc/nzb-notify/releases/latest \ - | awk '/tag_name/{print $4;exit}' FS='[""]') && \ - mkdir -p /app/nzbnotify && \ - curl -o \ - /tmp/nzbnotify.tar.gz -L \ - "https://api.github.com/repos/caronc/nzb-notify/tarball/${NZBNOTIFY_VERSION}" && \ - tar xf \ - /tmp/nzbnotify.tar.gz -C \ - /app/nzbnotify --strip-components=1 && \ - cd /app/nzbnotify && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ -r requirements.txt && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apk del --purge \ build-dependencies && \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index 35fb6ee..93733db 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -2,7 +2,7 @@ FROM ghcr.io/linuxserver/unrar:arm64v8-latest as unrar -FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.19 +FROM ghcr.io/linuxserver/baseimage-alpine:arm64v8-3.20 # set version label ARG BUILD_DATE @@ -44,11 +44,7 @@ RUN \ pip install -U --no-cache-dir \ pip \ wheel && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ \ - apprise \ - pynzb \ - requests && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ -r requirements.txt && \ + pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.20/ -r requirements.txt && \ echo "**** build sab translations ****" && \ python3 tools/make_mo.py && \ echo "**** install par2cmdline-turbo from source ****" && \ @@ -67,18 +63,7 @@ RUN \ make && \ make check && \ make install && \ - echo "**** install nzb-notify ****" && \ - NZBNOTIFY_VERSION=$(curl -s https://api.github.com/repos/caronc/nzb-notify/releases/latest \ - | awk '/tag_name/{print $4;exit}' FS='[""]') && \ - mkdir -p /app/nzbnotify && \ - curl -o \ - /tmp/nzbnotify.tar.gz -L \ - "https://api.github.com/repos/caronc/nzb-notify/tarball/${NZBNOTIFY_VERSION}" && \ - tar xf \ - /tmp/nzbnotify.tar.gz -C \ - /app/nzbnotify --strip-components=1 && \ - cd /app/nzbnotify && \ - pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/alpine-3.19/ -r requirements.txt && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apk del --purge \ build-dependencies && \ diff --git a/Jenkinsfile b/Jenkinsfile index e5628c7..b6b244d 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -33,9 +33,9 @@ pipeline { CI_WEB='true' CI_PORT='8080' CI_SSL='false' - CI_DELAY='120' - CI_DOCKERENV='TZ=US/Pacific' - CI_AUTH='user:password' + CI_DELAY='60' + CI_DOCKERENV='' + CI_AUTH='' CI_WEBPATH='' } stages { diff --git a/README.md b/README.md index a964cdd..ea0e6ee 100644 --- a/README.md +++ b/README.md @@ -73,17 +73,13 @@ Initial setup is done via `http://:` ie, http: See the [SABnzbd wiki](https://sabnzbd.org/wiki/) for more information. -### nzb-notify - -nzb-notify is included with this image as a convenience script. To use it set the Scripts folder in the Folder settings to /app/nzbnotify and then configure it under Notifications. See [nzb-notify](https://github.com/caronc/nzb-notify/) for more information. - ### Download folders -In Sabnzbd gui settings, under `Folders`, make sure to set the `Completed Download Folder` as `/downloads` and the `Temporary Download Folder` as `/incomplete-downloads` +In SABnzbd gui settings, under `Folders`, make sure to set the `Completed Download Folder` as `/downloads` and the `Temporary Download Folder` as `/incomplete-downloads` We have set `/incomplete-downloads` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content. -Use the optional paths if you dont understand, or dont want hardlinks/atomic moves. +Use the optional paths if you don't understand, or don't want hardlinks/atomic moves. The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this. @@ -303,6 +299,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **31.05.24:** - Rebase Alpine 3.20. Remove nzbnotify as apprise is now included with SABnzbd. * **23.12.23:** - Rebase to Alpine 3.19. * **23.11.23:** - Build translations. * **13.09.23:** - Use par2cmdline-turbo in place of par2cmdline. diff --git a/jenkins-vars.yml b/jenkins-vars.yml index a3b1123..79bcc3a 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -6,7 +6,6 @@ external_type: github_stable release_type: stable release_tag: latest ls_branch: master -build_armhf: false repo_vars: - EXT_GIT_BRANCH = 'master' - EXT_USER = 'sabnzbd' @@ -24,10 +23,10 @@ repo_vars: - CI_WEB='true' - CI_PORT='8080' - CI_SSL='false' - - CI_DELAY='120' - - CI_DOCKERENV='TZ=US/Pacific' - - CI_AUTH='user:password' + - CI_DELAY='60' + - CI_DOCKERENV='' + - CI_AUTH='' - CI_WEBPATH='' sponsor_links: - { name: "SABnzbd", url: "https://sabnzbd.org/donate" } - + diff --git a/readme-vars.yml b/readme-vars.yml index 1d0710b..cdaee4a 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -23,29 +23,18 @@ development_versions_items: # 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 }}/config", desc: "Persistent config files" } param_usage_include_ports: true param_ports: - { external_port: "8080", internal_port: "8080", port_desc: "HTTP port for the WebUI." } -param_device_map: false -cap_add_param: false # optional container parameters -opt_param_usage_include_env: false opt_param_usage_include_vols: true opt_param_volumes: - { vol_path: "/downloads", vol_host_path: "/path/to/downloads", desc: "Local path for finished downloads." } - { vol_path: "/incomplete-downloads", vol_host_path: "/path/to/incomplete/downloads", desc: "Local path for incomplete-downloads." } -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 @@ -54,57 +43,54 @@ app_setup_block: | See the [SABnzbd wiki](https://sabnzbd.org/wiki/) for more information. - ### nzb-notify - - nzb-notify is included with this image as a convenience script. To use it set the Scripts folder in the Folder settings to /app/nzbnotify and then configure it under Notifications. See [nzb-notify](https://github.com/caronc/nzb-notify/) for more information. - ### Download folders - In Sabnzbd gui settings, under `Folders`, make sure to set the `Completed Download Folder` as `/downloads` and the `Temporary Download Folder` as `/incomplete-downloads` + In SABnzbd gui settings, under `Folders`, make sure to set the `Completed Download Folder` as `/downloads` and the `Temporary Download Folder` as `/incomplete-downloads` We have set `/incomplete-downloads` and `/downloads` as ***optional paths***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content. - Use the optional paths if you dont understand, or dont want hardlinks/atomic moves. + Use the optional paths if you don't understand, or don't want hardlinks/atomic moves. The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this. # changelog changelogs: - - { date: "23.12.23:", desc: "Rebase to Alpine 3.19."} + - {date: "31.05.24:", desc: "Rebase Alpine 3.20. Remove nzbnotify as apprise is now included with SABnzbd."} + - {date: "23.12.23:", desc: "Rebase to Alpine 3.19."} - {date: "23.11.23:", desc: "Build translations."} - {date: "13.09.23:", desc: "Use par2cmdline-turbo in place of par2cmdline."} - - { date: "16.08.23:", desc: "Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar)."} - - { date: "10.08.23:", desc: "Bump unrar to 6.2.10."} - - { date: "16.05.23:", desc: "Rebase stable to Alpine 3.18, deprecate armhf." } - - { date: "15.03.23:", desc: "Switch from p7zip to 7zip, bump unrar to 6.2.6." } - - { date: "05.03.23:", desc: "Rebase master branch to Alpine 3.17." } - - { date: "03.10.22:", desc: "Rebase master branch to Alpine 3.16, migrate to s6v3." } - - { date: "12.08.22:", desc: "Bump unrar to 6.1.7." } - - { date: "31.07.22:", desc: "Add nightly tag." } - - { date: "10.03.22:", desc: "Add nzb-notify." } - - { date: "22.02.22:", desc: "Rebase master branch to Alpine, build unrar from source, deprecate Alpine branch." } - - { date: "25.01.22:", desc: "Rebase Unstable branch to Alpine." } - - { date: "13.01.22:", desc: "Add alpine branch" } - - { date: "08.08.21:", desc: "Bump to focal, dont enforce binding to ipv4 port 8080" } - - { date: "24.07.21:", desc: "Add python3-setuptools." } - - { date: "14.05.21:", desc: "Use linuxserver.io wheel index for pip packages." } - - { date: "12.02.21:", desc: "Clean up rust/cargo and pip cache." } - - { date: "17.08.20:", desc: "Run from source with python3 instead of ppa, remove python2 completely, symlink `python` to `python3`." } - - { date: "02.01.20:", desc: "Add python3 on top of python2 to image during transition." } - - { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." } - - { date: "25.02.19:", desc: "Rebase to Bionic, add python deps for scripts." } - - { date: "26.01.19:", desc: "Add pipeline logic and multi arch." } - - { date: "13.12.17:", desc: "Fix continuation lines." } - - { date: "12.07.17:", desc: "Add inspect commands to README, move to jenkins build and push." } - - { date: "10.04.17:", desc: "Bump to 2.0 Release." } - - { date: "25.02.17:", desc: "Switch to nobetas repo for master/latest branch and add unstable branch." } - - { date: "08.02.17:", desc: "Add pythonioenconding=utf8 as env." } - - { date: "15.09.16:", desc: "Compile par2 multicore as per latest info sabnzbd git [readme](https://github.com/sabnzbd/sabnzbd#resolving-dependencies)." } - - { date: "11.09.16:", desc: "Bump to release of 1.10." } - - { date: "09.09.16:", desc: "Rebase back to xenial, issues with alpine version of python and 1.10 branch of sab." } - - { date: "28.08.16:", desc: "Rebase to alpine, using git version of sab." } - - { date: "17.03.16:", desc: "Bump to install 1.0 final at startup." } - - { date: "14.03.16:", desc: "Refresh image to pick up latest RC." } - - { date: "23.01.15:", desc: "Refresh image." } - - { date: "14.12.15:", desc: "Refresh image to pick up latest beta." } - - { date: "21.08.15:", desc: "Initial Release." } + - {date: "16.08.23:", desc: "Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar)."} + - {date: "10.08.23:", desc: "Bump unrar to 6.2.10."} + - {date: "16.05.23:", desc: "Rebase stable to Alpine 3.18, deprecate armhf."} + - {date: "15.03.23:", desc: "Switch from p7zip to 7zip, bump unrar to 6.2.6."} + - {date: "05.03.23:", desc: "Rebase master branch to Alpine 3.17."} + - {date: "03.10.22:", desc: "Rebase master branch to Alpine 3.16, migrate to s6v3."} + - {date: "12.08.22:", desc: "Bump unrar to 6.1.7."} + - {date: "31.07.22:", desc: "Add nightly tag."} + - {date: "10.03.22:", desc: "Add nzb-notify."} + - {date: "22.02.22:", desc: "Rebase master branch to Alpine, build unrar from source, deprecate Alpine branch."} + - {date: "25.01.22:", desc: "Rebase Unstable branch to Alpine."} + - {date: "13.01.22:", desc: "Add alpine branch"} + - {date: "08.08.21:", desc: "Bump to focal, dont enforce binding to ipv4 port 8080"} + - {date: "24.07.21:", desc: "Add python3-setuptools."} + - {date: "14.05.21:", desc: "Use linuxserver.io wheel index for pip packages."} + - {date: "12.02.21:", desc: "Clean up rust/cargo and pip cache."} + - {date: "17.08.20:", desc: "Run from source with python3 instead of ppa, remove python2 completely, symlink `python` to `python3`."} + - {date: "02.01.20:", desc: "Add python3 on top of python2 to image during transition."} + - {date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag."} + - {date: "25.02.19:", desc: "Rebase to Bionic, add python deps for scripts."} + - {date: "26.01.19:", desc: "Add pipeline logic and multi arch."} + - {date: "13.12.17:", desc: "Fix continuation lines."} + - {date: "12.07.17:", desc: "Add inspect commands to README, move to jenkins build and push."} + - {date: "10.04.17:", desc: "Bump to 2.0 Release."} + - {date: "25.02.17:", desc: "Switch to nobetas repo for master/latest branch and add unstable branch."} + - {date: "08.02.17:", desc: "Add pythonioenconding=utf8 as env."} + - {date: "15.09.16:", desc: "Compile par2 multicore as per latest info sabnzbd git [readme](https://github.com/sabnzbd/sabnzbd#resolving-dependencies)."} + - {date: "11.09.16:", desc: "Bump to release of 1.10."} + - {date: "09.09.16:", desc: "Rebase back to xenial, issues with alpine version of python and 1.10 branch of sab."} + - {date: "28.08.16:", desc: "Rebase to alpine, using git version of sab."} + - {date: "17.03.16:", desc: "Bump to install 1.0 final at startup."} + - {date: "14.03.16:", desc: "Refresh image to pick up latest RC."} + - {date: "23.01.15:", desc: "Refresh image."} + - {date: "14.12.15:", desc: "Refresh image to pick up latest beta."} + - {date: "21.08.15:", desc: "Initial Release."} diff --git a/root/etc/s6-overlay/s6-rc.d/svc-sabnzbd/run b/root/etc/s6-overlay/s6-rc.d/svc-sabnzbd/run index f7786ef..4fc8ef4 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-sabnzbd/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-sabnzbd/run @@ -3,7 +3,7 @@ FAMILY=:: -if [ "$HAS_IPV6" = "false" ]; then +if [[ "$HAS_IPV6" = "false" ]]; then FAMILY=0.0.0.0 sed '/ip6-/d' /etc/hosts > /etc/hosts.new cat /etc/hosts.new > /etc/hosts