* Download ZNC 1.6.4, verify its signature
* Use single RUN command to decrease image size
* Update to Alpine 3.5

Inspired by https://github.com/jessfraz/irssi/blob/master/alpine/Dockerfile
master
Alexey Sokolov 7 years ago
parent 2473fa6757
commit b5c7186415

@ -1,44 +1,45 @@
FROM alpine:3.3 FROM alpine:3.5
RUN adduser -S znc && addgroup -S znc ENV ZNC_VERSION 1.6.4
RUN mkdir -p /home/znc/src /home/znc/build ARG CONFIGUREFLAGS="--prefix=/opt/znc --enable-cyrus --enable-perl --enable-python"
WORKDIR /home/znc/build ARG CLEANCMD="apk del build-dependencies && rm -Rf /znc-src"
ADD . /home/znc/src
ARG CONFIGUREFLAGS="--enable-perl --enable-python 3.5"
ARG CLEANCMD="apk del build-dependencies && rm -Rf /home/znc/build /home/znc/src"
ARG MAKEFLAGS="" ARG MAKEFLAGS=""
RUN apk add --no-cache --virtual runtime-dependencies \ RUN set -x \
&& adduser -S znc \
&& addgroup -S znc \
&& apk add --no-cache --virtual runtime-dependencies \
icu \ icu \
openssl \ openssl \
boost \
python3 \ python3 \
perl \ perl \
cyrus-sasl cyrus-sasl \
&& apk add --no-cache --virtual build-dependencies \
RUN apk add --no-cache --virtual build-dependencies \
build-base \ build-base \
cmake \
git \
icu-dev \ icu-dev \
openssl-dev \ openssl-dev \
cyrus-sasl-dev \ cyrus-sasl-dev \
gnupg \
perl-dev \ perl-dev \
python3-dev \ python3-dev \
swig \ && mkdir /znc-src && cd /znc-src \
gettext-dev \ && wget "http://znc.in/releases/archive/znc-${ZNC_VERSION}.tar.gz" \
boost-dev \ && wget "http://znc.in/releases/archive/znc-${ZNC_VERSION}.tar.gz.sig" \
&& /home/znc/src/configure.sh $CONFIGUREFLAGS \ && export GNUPGHOME="$(mktemp -d)" \
&& gpg --keyserver pool.sks-keyservers.net --recv-keys D5823CACB477191CAC0075555AE420CC0209989E \
&& gpg --batch --verify znc-"${ZNC_VERSION}.tar.gz.sig" znc-"${ZNC_VERSION}.tar.gz" \
&& rm -R "$GNUPGHOME" \
&& tar -zxf znc-"${ZNC_VERSION}.tar.gz" \
&& mkdir build && cd build \
&& ../znc-"${ZNC_VERSION}"/configure ${CONFIGUREFLAGS} \
&& make $MAKEFLAGS \ && make $MAKEFLAGS \
&& make install \ && make install \
&& sh -c "$CLEANCMD" && sh -c "$CLEANCMD"
USER znc USER znc
WORKDIR /home/znc VOLUME /znc-data
VOLUME /home/znc/data
EXPOSE 6667 EXPOSE 6667
ENTRYPOINT ["/usr/local/bin/znc", "-f", "-d", "/home/znc/data"] ENTRYPOINT ["/opt/znc/bin/znc", "-f", "-d", "/znc-data"]

Loading…
Cancel
Save