Skip to content

Commit

Permalink
Merge pull request #229 from linuxserver/master-3.20
Browse files Browse the repository at this point in the history
Rebase to 3.20, remove nzbnotify (master)
  • Loading branch information
thespad authored May 31, 2024
2 parents b8dbe70 + 87e997a commit b6f69e4
Show file tree
Hide file tree
Showing 7 changed files with 56 additions and 104 deletions.
21 changes: 3 additions & 18 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 ****" && \
Expand All @@ -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 && \
Expand Down
21 changes: 3 additions & 18 deletions Dockerfile.aarch64
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 ****" && \
Expand All @@ -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 && \
Expand Down
6 changes: 3 additions & 3 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
9 changes: 3 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -73,17 +73,13 @@ Initial setup is done via `http://<docker host ip>:<mapped http port>` 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.

Expand Down Expand Up @@ -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.
Expand Down
9 changes: 4 additions & 5 deletions jenkins-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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'
Expand All @@ -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" }

92 changes: 39 additions & 53 deletions readme-vars.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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."}
2 changes: 1 addition & 1 deletion root/etc/s6-overlay/s6-rc.d/svc-sabnzbd/run
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit b6f69e4

Please sign in to comment.