summaryrefslogtreecommitdiff
path: root/docker/compile-and-check/base/Dockerfile
diff options
context:
space:
mode:
Diffstat (limited to 'docker/compile-and-check/base/Dockerfile')
-rw-r--r--docker/compile-and-check/base/Dockerfile40
1 files changed, 40 insertions, 0 deletions
diff --git a/docker/compile-and-check/base/Dockerfile b/docker/compile-and-check/base/Dockerfile
new file mode 100644
index 0000000..8ce899b
--- /dev/null
+++ b/docker/compile-and-check/base/Dockerfile
@@ -0,0 +1,40 @@
+FROM debian:bookworm
+
+
+# This image provides base dependencies needed to compile and run
+# GNU Taler components
+
+RUN apt-get update
+
+# Explanations for weirder dependencies:
+# - texlive-* is required by the exchange test cases
+RUN apt-get install -y autoconf autopoint libtool texinfo \
+ libgcrypt-dev libidn11-dev zlib1g-dev libunistring-dev \
+ libjansson-dev python3-pip git recutils libsqlite3-dev \
+ libpq-dev postgresql libcurl4-openssl-dev libsodium-dev git \
+ libqrencode-dev zip jq npm openjdk-17-jre nginx procps \
+ curl python3-jinja2 wget curl python3-sphinx socat apache2-utils \
+ python3-sphinx-rtd-theme sqlite3 vim emacs faketime \
+ texlive-latex-base texlive-latex-extra
+
+RUN useradd -m talercheck
+
+USER talercheck
+WORKDIR /home/talercheck
+
+# pnpm likes to have the tmp directory
+RUN mkdir -p tmp
+
+# Make pip3 happy by running as a non-root user
+# and setting PATH correctly
+ENV PATH="/home/talercheck/.local/bin:$PATH"
+
+RUN pip3 install --break-system-packages requests click poetry uwsgi htmlark
+
+RUN npm config set prefix $HOME/.npm-global
+RUN npm install -g pnpm
+
+COPY ./base/util.sh ./base/compile_and_check.sh /home/talercheck/
+COPY ./config/tags.sh /home/talercheck/tags.sh
+
+ENTRYPOINT /home/talercheck/compile_and_check.sh