mirror of
https://github.com/linuxserver/docker-nzbget.git
synced 2026-02-20 06:59:36 +08:00
105 lines
2.7 KiB
Docker
105 lines
2.7 KiB
Docker
# Buildstage
|
|
FROM lsiobase/alpine:3.12 as buildstage
|
|
|
|
# set NZBGET version
|
|
ARG NZBGET_RELEASE
|
|
|
|
RUN \
|
|
echo "**** install build packages ****" && \
|
|
apk add \
|
|
curl \
|
|
g++ \
|
|
gcc \
|
|
git \
|
|
jq \
|
|
libxml2-dev \
|
|
libxslt-dev \
|
|
make \
|
|
ncurses-dev \
|
|
openssl-dev && \
|
|
echo "**** build nzbget ****" && \
|
|
if [ -z ${NZBGET_RELEASE+x} ]; then \
|
|
NZBGET_RELEASE=$(curl -sX GET "https://api.github.com/repos/nzbget/nzbget/releases" \
|
|
| jq -r 'first(.[] | select(.prerelease == true)) | .tag_name'); \
|
|
fi && \
|
|
mkdir -p /app/nzbget && \
|
|
git clone https://github.com/nzbget/nzbget.git nzbget && \
|
|
cd nzbget/ && \
|
|
git checkout ${NZBGET_RELEASE} && \
|
|
./configure \
|
|
bindir='${exec_prefix}' && \
|
|
make && \
|
|
make prefix=/app/nzbget install && \
|
|
sed -i \
|
|
-e "s#^MainDir=.*#MainDir=/downloads#g" \
|
|
-e "s#^ScriptDir=.*#ScriptDir=$\{MainDir\}/scripts#g" \
|
|
-e "s#^WebDir=.*#WebDir=$\{AppDir\}/webui#g" \
|
|
-e "s#^ConfigTemplate=.*#ConfigTemplate=$\{AppDir\}/webui/nzbget.conf.template#g" \
|
|
-e "s#^UnrarCmd=.*#UnrarCmd=$\{AppDir\}/unrar#g" \
|
|
-e "s#^SevenZipCmd=.*#SevenZipCmd=$\{AppDir\}/7za#g" \
|
|
-e "s#^CertStore=.*#CertStore=$\{AppDir\}/cacert.pem#g" \
|
|
-e "s#^CertCheck=.*#CertCheck=yes#g" \
|
|
-e "s#^DestDir=.*#DestDir=$\{MainDir\}/completed#g" \
|
|
-e "s#^InterDir=.*#InterDir=$\{MainDir\}/intermediate#g" \
|
|
-e "s#^LogFile=.*#LogFile=$\{MainDir\}/nzbget.log#g" \
|
|
-e "s#^AuthorizedIP=.*#AuthorizedIP=127.0.0.1#g" \
|
|
/app/nzbget/share/nzbget/nzbget.conf && \
|
|
mv /app/nzbget/share/nzbget/webui /app/nzbget/ && \
|
|
cp /app/nzbget/share/nzbget/nzbget.conf /app/nzbget/webui/nzbget.conf.template && \
|
|
ln -s /usr/bin/7za /app/nzbget/7za && \
|
|
ln -s /usr/bin/unrar /app/nzbget/unrar && \
|
|
cp /nzbget/pubkey.pem /app/nzbget/pubkey.pem && \
|
|
curl -o \
|
|
/app/nzbget/cacert.pem -L \
|
|
"https://curl.haxx.se/ca/cacert.pem"
|
|
|
|
# Runtime Stage
|
|
FROM lsiobase/alpine:3.12
|
|
|
|
# set version label
|
|
ARG BUILD_DATE
|
|
ARG VERSION
|
|
LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DATE}"
|
|
LABEL maintainer="thelamer"
|
|
|
|
RUN \
|
|
echo "**** install build packages ****" && \
|
|
apk add --no-cache --upgrade --virtual=build-dependencies \
|
|
gcc \
|
|
libc-dev \
|
|
libxml2-dev \
|
|
libxslt-dev \
|
|
make \
|
|
py3-pip \
|
|
python3-dev && \
|
|
echo "**** install packages ****" && \
|
|
apk add --no-cache \
|
|
curl \
|
|
libxml2 \
|
|
libxslt \
|
|
openssl \
|
|
p7zip \
|
|
python3 \
|
|
unrar \
|
|
wget && \
|
|
echo "**** install python packages ****" && \
|
|
pip3 install --no-cache-dir \
|
|
apprise \
|
|
chardet \
|
|
pynzbget &&\
|
|
ln -s /usr/bin/python3 /usr/bin/python && \
|
|
echo "**** cleanup ****" && \
|
|
apk del --purge \
|
|
build-dependencies && \
|
|
rm -rf \
|
|
/root/.cache \
|
|
/tmp/*
|
|
|
|
# add local files and files from buildstage
|
|
COPY --from=buildstage /app/nzbget /app/nzbget
|
|
COPY root/ /
|
|
|
|
# ports and volumes
|
|
VOLUME /config
|
|
EXPOSE 6789
|