summaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorFrank Tornack <frankenstein91.info@googlemail.com>2023-01-29 01:21:49 +0100
committerFrank Tornack <frankenstein91.info@googlemail.com>2023-01-29 01:21:49 +0100
commit98aa6fbfea3f4951e7412dce7f8ccdd670c38d0e (patch)
tree333864d062538c4b1bcfe868f1c2c7eba316786f /docker
parent9012fe45197461ea13eb3fe734be864161f85207 (diff)
start new Docker Image
try to build a Yacy docker using graalvm
Diffstat (limited to 'docker')
-rw-r--r--docker/Dockerfile.ArchLinux56
1 files changed, 56 insertions, 0 deletions
diff --git a/docker/Dockerfile.ArchLinux b/docker/Dockerfile.ArchLinux
new file mode 100644
index 000000000..4f7a442b9
--- /dev/null
+++ b/docker/Dockerfile.ArchLinux
@@ -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
+
+