start new Docker Image

try to build a Yacy docker using graalvm
This commit is contained in:
Frank Tornack 2023-01-29 01:21:49 +01:00
parent 9012fe4519
commit 98aa6fbfea
No known key found for this signature in database
GPG Key ID: 55ADEA99D305EACD

View File

@ -0,0 +1,56 @@
FROM archlinux:latest
# update the system and clean up
RUN pacman -Syu --noconfirm && pacman -Scc --noconfirm
RUN pacman -Sy java-runtime-common --noconfirm && pacman -Scc --noconfirm
# download latest version of graalvm and move it to /lib/jvm/java-{javaversion}-graalvm
RUN bash <(curl -sL https://get.graalvm.org/jdk) --no-progress && \
JAVAVERSION=$(ls ./ | grep graalvm | cut -d'-' -f3 | sed 's/java//g') && \
mv ./graalvm-ce-java$JAVAVERSION-$(ls ./ | grep graalvm | cut -d'-' -f4) /lib/jvm/java-$JAVAVERSION-graalvm && \
archlinux-java set java-$JAVAVERSION-graalvm
# update the path variable
ENV PATH="/usr/lib/jvm/default/bin:${PATH}"
# set the JAVA_HOME variable
ENV JAVA_HOME="/usr/lib/jvm/default"
WORKDIR /opt
RUN curl "https://downloads.apache.org/ant/source/apache-ant-1.10.12-src.tar.gz" --output ant-src.tar.gz && \
tar -xzf ant-src.tar.gz && \
rm ant-src.tar.gz && \
mv apache-ant-* ant-src && \
cd ant-src && \
mkdir /opt/ant && \
sh build.sh -f fetch.xml -Ddest=optional && \
sh build.sh -Ddist.dir=/opt/ant dist && \
cd .. && \
rm -rf ant-src
# set the ANT_HOME variable
ENV ANT_HOME="/opt/ant"
# set the PATH variable
ENV PATH="/opt/ant/bin:${PATH}"
RUN ant -f /opt/ant/fetch.xml -Ddest=system
# install the latest version dependencies of Yacy (copied from the official Dockerfile)
RUN pacman -Sy imagemagick ruby qt5-tools qt5-doc gperf python xorg-server-xvfb ghostscript git qt5-svg qt5-xmlpatterns base-devel qt5-location qt5-sensors qt5-webchannel libwebp libxslt libxcomposite gst-plugins-base hyphen hyphen-en hyphen-de woff2 cmake --noconfirm && \
pacman -Scc --noconfirm
RUN useradd --no-create-home --shell=/bin/false build && \
usermod -L build
USER build
WORKDIR /tmp
# buid package for qt5-webkit from AUR
RUN git clone https://aur.archlinux.org/qt5-webkit.git && \
cd qt5-webkit && \
makepkg --noconfirm && \
cd ..
USER root
# install the package
RUN pacman -U --noconfirm /tmp/qt5-webkit/qt5-webkit*.pkg.tar.zst && \
rm -rf /tmp/qt5-webkit
# build package for wkhtmltopdf from AUR
RUN git clone https://aur.archlinux.org/wkhtmltopdf.git && \
cd wkhtmltopdf && \
makepkg --noconfirm && \
cd ..
USER root
# install the package
RUN pacman -U --noconfirm /tmp/wkhtmltopdf/wkhtmltox*.pkg.tar.zst && \
rm -rf /tmp/wkhtmltopdf