healthcheck/amule/Dockerfile

68 lines
2.3 KiB
Docker

FROM alpine:latest
ENV AMULE_VERSION 2.3.2
ENV UPNP_VERSION 1.6.22
ENV CRYPTOPP_VERSION CRYPTOPP_5_6_5
RUN apk --update add gd geoip libpng libwebp pwgen sudo wxgtk zlib && \
apk --update add --virtual build-dependencies alpine-sdk automake \
autoconf bison g++ gcc gd-dev geoip-dev \
gettext gettext-dev git libpng-dev libwebp-dev \
libtool libsm-dev make musl-dev wget \
wxgtk-dev zlib-dev
# Build libupnp
RUN mkdir -p /opt && cd /opt && \
wget "http://downloads.sourceforge.net/sourceforge/pupnp/libupnp-${UPNP_VERSION}.tar.bz2" && \
tar xvfj libupnp*.tar.bz2 && cd libupnp* && ./configure --prefix=/usr && make && make install
# Build crypto++
RUN mkdir -p /opt && cd /opt && \
git clone --branch ${CRYPTOPP_VERSION} --single-branch "https://github.com/weidai11/cryptopp" /opt/cryptopp && \
cd /opt/cryptopp && \
sed -i -e 's/^CXXFLAGS/#CXXFLAGS/' GNUmakefile && export CXXFLAGS="${CXXFLAGS} -DNDEBUG -fPIC" && \
make -f GNUmakefile && make libcryptopp.so && install -Dm644 libcryptopp.so* /usr/lib/ && \
mkdir -p /usr/include/cryptopp && install -m644 *.h /usr/include/cryptopp/
# Build amule from source
RUN mkdir -p /opt/amule && \
git clone --branch ${AMULE_VERSION} --single-branch "https://github.com/amule-project/amule" /opt/amule && \
cd /opt/amule && ./autogen.sh && ./configure \
--disable-gui \
--disable-amule-gui \
--disable-wxcas \
--disable-alc \
--disable-plasmamule \
--disable-kde-in-home \
--prefix=/usr \
--mandir=/usr/share/man \
--enable-unicode \
--without-subdirs \
--without-expat \
--enable-amule-daemon \
--enable-amulecmd \
--enable-webserver \
--enable-cas \
--enable-alcc \
--enable-fileview \
--enable-geoip \
--enable-mmap \
--enable-optimize \
--enable-upnp \
--disable-debug && \
make && \
make install
# Add startup script
ADD amule.sh /home/amule/amule.sh
# Final cleanup
RUN chmod a+x /home/amule/amule.sh \
&& rm -rf /var/cache/apk/* && rm -rf /opt \
&& apk del build-dependencies
EXPOSE 4711/tcp 4712/tcp 4672/udp 4665/udp 4662/tcp 4661/tcp
ENTRYPOINT ["/home/amule/amule.sh"]