sync

Backup service to store encrypted wallet databases (experimental)
Log | Files | Refs | Submodules | README | LICENSE

Containerfile (2565B)


      1 FROM docker.io/library/debian:trixie
      2 
      3 ENV DEBIAN_FRONTEND=noninteractive
      4 
      5 RUN apt-get update -yqq && \
      6     apt-get install -yqq \
      7                    python3 \
      8                    git \
      9 		   meson \
     10 		   libjansson-dev \
     11 		   libgcrypt-dev \
     12 		   libgnutls28-dev \
     13 		   libqrencode-dev \
     14 		   libpq-dev \
     15 		   pkg-config \
     16                    libtool \
     17 		   make \
     18 		   python3-sphinx \
     19 		   python3-sphinx-rtd-theme \
     20                    texinfo \
     21 		   autopoint \
     22 		   curl \
     23                    wget \
     24                    libcurl4-gnutls-dev \
     25                    libsodium-dev \
     26 		   libidn11-dev \
     27 		   zlib1g-dev \
     28 		   libunistring-dev
     29 
     30 # Debian packaging tools
     31 RUN apt-get install -yqq \
     32                    po-debconf \
     33                    build-essential \
     34                    debhelper-compat \
     35                    devscripts \
     36 		   git-buildpackage \
     37 		   autoconf \
     38 		   automake
     39 
     40 # Debian does not (yet) package libmicrohttpd2, so build it from source.
     41 # Pinned to a specific revision of git.gnunet.org/libmicrohttpd2.
     42 RUN git clone https://git.gnunet.org/libmicrohttpd2 /tmp/libmicrohttpd2 \
     43     && cd /tmp/libmicrohttpd2 \
     44     && git checkout 24a2913c4e1cb31a5cff52047beae146959d50b0 \
     45     && ./bootstrap \
     46     && ./configure --prefix=/usr --libdir=/usr/lib/x86_64-linux-gnu \
     47          --disable-doc --disable-examples \
     48     && make -j"$(nproc)" \
     49     && make install \
     50     && ldconfig \
     51     && rm -rf /tmp/libmicrohttpd2
     52 
     53 # Install docs generation utils
     54 RUN apt-get update -yqq && \
     55     apt-get install -yqq \
     56                    graphviz \
     57                    lcov rsync \
     58 		   doxygen \
     59    && rm -rf /var/lib/apt/lists/*
     60 
     61 # Install Taler (and friends) packages
     62 RUN curl -sS https://deb.taler.net/apt-nightly/taler-trixie-ci.sources \
     63     | tee /etc/apt/sources.list.d/taler-trixie-ci.sources
     64 
     65 RUN echo '\
     66 Package: * \n\
     67 Pin: origin "deb.taler.net" \n\
     68 Pin-Priority: 999' > /etc/apt/preferences.d/taler
     69 
     70 RUN cat /etc/apt/preferences.d/taler && \
     71     apt-get update -y && \
     72     apt-get install -y \
     73                    libgnunet-dev \
     74                    libgnunet \
     75 		   libtalerexchange-dev \
     76 		   libtalerexchange \
     77 		   libtalermerchant-dev \
     78 		   libtalermerchant \
     79 		   donau \
     80 		   libdonau-dev \
     81 		   taler-exchange \
     82 		   taler-merchant \
     83 		   taler-exchange-database \
     84 		   taler-exchange-offline \
     85 		   taler-auditor \
     86     && rm -rf /var/lib/apt/lists/*
     87 
     88 RUN apt-get update -yqq && \
     89     apt-get install -yqq \
     90                    postgresql \
     91                    sudo \
     92                    jq
     93 
     94 WORKDIR /workdir
     95 
     96 CMD ["bash", "/workdir/contrib/ci/ci.sh"]