Files
sabnzbd/Dockerfile
T
opencodecabilloteu 1319d1d3c2
Docker Build and Push / lint (pull_request) Successful in 9s
Docker Build and Push / build (pull_request) Failing after 1m27s
Docker Build and Push / test (pull_request) Has been skipped
Docker Build and Push / push (pull_request) Has been skipped
chore: improve renovate dependency detection
- Add renovate.json with custom regexManagers for:
  - Quoted FROM images (debian:buster)
  - SABNZBD_VERSION, TINI_VERSION, PAR2CMDLINE_VERSION env pins
- Disable gitlabci manager (legacy CI, migrated to Gitea Actions)
- Remove unnecessary quotes from FROM image reference
2026-06-09 02:15:40 +00:00

86 lines
2.5 KiB
Docker

FROM debian:buster
LABEL maintainer="Julien Cabillot <dockerimages@cabillot.eu>"
RUN groupadd -r -g 666 sabnzbd && \
useradd -l -r -u 666 -g 666 -d /sabnzbd sabnzbd
#
# Add SABnzbd init script.
#
COPY "sabnzbd.sh" "/sabnzbd.sh"
RUN chmod 755 "/sabnzbd.sh"
#
# Fix locales to handle UTF-8 characters.
#
ENV LANG C.UTF-8
#
# Install SABnzbd and all required dependencies.
#
# hadolint ignore=DL3008,DL3015,SC3009,DL3003,DL3013,DL3042
RUN export SABNZBD_VERSION=3.7.2 PAR2CMDLINE_VERSION=v0.6.14-mt1 && \
export DEBIAN_FRONTEND=noninteractive && \
export BUILD_PACKAGES="automake build-essential python3-dev libffi-dev" && \
export RUNTIME_PACKAGES="ca-certificates p7zip-full python3-yenc unrar unzip libgomp1 openssl python3-openssl curl python3-pip" && \
export PIP_PACKAGES="sabyenc" && \
sed -i 's|http://deb.debian.org|http://archive.debian.org|g' /etc/apt/sources.list && \
sed -i "s/ main$/ main contrib non-free/" /etc/apt/sources.list && \
apt-get -qq update && \
apt-get -qq --yes install $BUILD_PACKAGES $RUNTIME_PACKAGES && \
#pip3 install $PIP_PACKAGES && \
curl -SL -o /tmp/sabnzbd.tar.gz https://github.com/sabnzbd/sabnzbd/releases/download/${SABNZBD_VERSION}/SABnzbd-${SABNZBD_VERSION}-src.tar.gz && \
tar xzf /tmp/sabnzbd.tar.gz && \
mv SABnzbd-* sabnzbd && \
pip3 install --upgrade pip && \
pip3 install -r /sabnzbd/requirements.txt && \
chown -R sabnzbd: sabnzbd && \
curl -o /tmp/par2cmdline-mt.tar.gz https://codeload.github.com/jkansanen/par2cmdline-mt/tar.gz/${PAR2CMDLINE_VERSION} && \
tar xzf /tmp/par2cmdline-mt.tar.gz -C /tmp && \
cd /tmp/par2cmdline-* && \
aclocal && \
automake --add-missing && \
autoconf && \
./configure && \
make && \
make install && \
apt-get -qq --yes remove --purge $BUILD_PACKAGES && \
apt-get -qq --yes autoremove --purge && \
apt-get -qq --yes clean all && \
rm -rf "/usr/share/doc/"* \
"/var/cache/"* \
"/var/lib/apt/lists/"* \
"/usr/src/"* \
"/var/cache/"* \
"/var/log/"{apt/*,dpkg.log} \
"/var/www/html" \
"/tmp/"*
#
# Define container settings.
#
VOLUME ["/datadir", "/media"]
EXPOSE 8080
#
# Start SABnzbd.
#
WORKDIR "/sabnzbd"
# Add Tini
ENV "TINI_VERSION" "v0.19.0"
ADD "https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini" "/tini"
RUN chmod +x "/tini"
#ENTRYPOINT ["/tini", "--"]
CMD ["/sabnzbd.sh"]
HEALTHCHECK --interval=10s \
CMD curl --fail "http://localhost:8080" || exit 1