commit d6b58c5adccc02f1001acdc2aa2c34b25322c0d4 parent c7b48deb361380826e986a26936dab04d61adf32 Author: Devan Carpenter <devan@taler.net> Date: Wed, 27 Nov 2024 03:41:51 +0100 add Dockerfile using nightlies instead of building Diffstat:
| A | nightly.Dockerfile | | | 83 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 83 insertions(+), 0 deletions(-)
diff --git a/nightly.Dockerfile b/nightly.Dockerfile @@ -0,0 +1,83 @@ +FROM docker.io/library/debian:bookworm AS base-system + +# FIXMEs: +# - debian packages should be built with a nightly tag +# - the final image contains all build dependencies, this isn't really necessary +# - the final image contains -dev packages, not really necessary +# - GNUnet build dependencies are excessive, maybe we can just build the required libs? + + + +RUN DEBIAN_FRONTEND=noninteractive \ + apt-get update && \ + apt-get -y upgrade && \ + apt-get install --no-install-recommends -yqq \ + build-essential \ + curl \ + debhelper-compat \ + fakeroot \ + git \ + pybuild-plugin-pyproject \ + python3-flask-babel \ + python3-poetry-core \ + unzip + +# Merchant demos +FROM base-system as merchant-demos + +WORKDIR /build +COPY buildconfig/merchant-demos.* /buildconfig/ +RUN TAG=$(cat /buildconfig/merchant-demos.tag) && \ + git clone git://git.taler.net/taler-merchant-demos \ + --branch $TAG && \ + cd taler-merchant-demos && git checkout $(cat /buildconfig/merchant-demos.checkout) +WORKDIR /build/taler-merchant-demos +RUN ./bootstrap +RUN dpkg-buildpackage -rfakeroot -b -uc -us +WORKDIR / +RUN mkdir -p /packages/merchant-demos +RUN mv /build/*.deb /packages/merchant-demos +RUN rm -rf /build +RUN DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y /packages/merchant-demos/*.deb + +# Final image +FROM base-system as taler-final +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y upgrade && apt-get --no-install-recommends install -y \ + gpg +COPY apt/caddy-stable.list /etc/apt/sources.list.d/caddy-stable.list +COPY apt/caddy-stable-archive-keyring.gpg /tmp/caddy-stable-archive-keyring.gpg +RUN gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg /tmp/caddy-stable-archive-keyring.gpg +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y upgrade && apt-get --no-install-recommends install -y \ + emacs \ + vim \ + ca-certificates \ + curl \ + postgresql \ + bash-completion \ + sudo \ + less \ + caddy \ + systemd-coredump \ + libnss3-tools \ + uuid-runtime + +RUN curl -sS https://deb.taler.net/apt-nightly/taler-bookworm-ci.sources -o /etc/apt/sources.list.d/taler.sources && \ + DEBIAN_FRONTEND=noninteractive apt-get update -qq && \ + apt-get install -yqq \ + taler-exchange \ + taler-merchant \ + taler-wallet-cli \ + taler-harness \ + challenger-httpd \ + libeufin-bank \ + sync-httpd + +RUN mkdir -p /packages +COPY --from=merchant-demos /packages/merchant-demos/* /packages/ +RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get -y upgrade && \ + apt-get install --no-install-recommends -y /packages/*.deb +COPY systemd/setup-sandcastle.service /etc/systemd/system/ +RUN systemctl enable setup-sandcastle.service +# Disable potentially problem-causing services +RUN systemctl disable postgresql && \ + systemctl disable apache2 || true