docker – Rev 36
?pathlinks?
FROM debian:bookworm-slim
ADD rootfs /
# update package manager
RUN apt-get update -y && \
apt-get upgrade -y && \
apt-get dist-upgrade -y && \
apt-get -y autoremove && \
apt-get clean
# install preliminary packages
RUN apt-get install -y \
coreutils \
bash \
curl \
ca-certificates \
sharutils \
bsdiff \
patch
# create the patches (from https://grimore.org/cracks/mmonit/4.3.1)
COPY patches/mmonit.bsdiff.uue /tmp/mmonit.bsdiff.uue
COPY patches/index.csp.diff /tmp/index.csp.diff
# compile
RUN mkdir -p /opt && \
curl -o /opt/mmonit.tar.gz "https://mmonit.com/dist/mmonit-4.3.1-linux-x64.tar.gz" && \
cd /opt && \
tar -vxf mmonit.tar.gz && \
rm /opt/mmonit.tar.gz && \
ln -sf mmonit-4.3.1 mmonit && \
echo "Patching mmonit..." && \
uudecode -co /tmp/mmonit.bsdiff /tmp/mmonit.bsdiff.uue && \
bspatch /opt/mmonit/bin/mmonit /tmp/mmonit /tmp/mmonit.bsdiff && \
mv /tmp/mmonit /opt/mmonit/bin/ && \
chmod +x /opt/mmonit/bin/mmonit && \
rm /tmp/*.bsdiff* && \
echo "Patching admin page..." && \
cd /opt/mmonit/docroot/admin/general && \
ls -l && \
cat /tmp/index.csp.diff | patch -p0 && \
rm /tmp/index.csp.diff
# move folders for local configuration
RUN mv /opt/mmonit/db /opt/mmonit/db.local && \
mv /opt/mmonit/conf /opt/mmonit/conf.local
# remove packages that will not be used
WORKDIR /
RUN apt-get purge -y \
curl \
git \
sharutils \
bsdiff \
patch && \
apt-get autoremove -y
EXPOSE 8080
ENTRYPOINT [ "/bin/bash", "/usr/local/bin/run" ]