Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase to 3.20, remove nzbnotify (master) #229

Merged
merged 1 commit into from
May 31, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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