taler-deployment

Deployment scripts and configuration files
Log | Files | Refs | README

install_packages.sh (2447B)


      1 #!/bin/bash
      2 # This file is in the public domain.
      3 
      4 set -eu
      5 
      6 source functions.sh
      7 
      8 detect_distro
      9 
     10 # Program versions
     11 PG_VERSION=$( ./postgres_version.sh )
     12 
     13 if [[ "$PG_VERSION" -lt 15 ]]
     14 then
     15   echo "Available postgresql version $PG_VERSION is too old"
     16   exit 1
     17 fi
     18 
     19 
     20 say "Installing necessary packages (this may take a while)..."
     21 
     22 ## Update
     23 
     24 apt-get update &>> setup.log
     25 
     26 ## General requirements
     27 
     28 apt-get install \
     29   uuid-runtime \
     30   make \
     31   sudo \
     32   curl \
     33   jq \
     34   wget \
     35   nginx \
     36   gettext-base \
     37   "postgresql-${PG_VERSION}" \
     38   "postgresql-client-${PG_VERSION}" \
     39   dbconfig-pgsql \
     40   certbot \
     41   python3-sphinx \
     42   python3-pip \
     43   python3-certbot-nginx -y &>> setup.log
     44 
     45 # These extra packages are used by the setup scripts
     46 pip3 install --break-system-packages \
     47      argon2-cffi \
     48      sphinx-markdown-builder \
     49      pycryptodome &>> setup.log
     50 
     51 ## Add GNU Taler deb.taler.net to /etc/apt/sources.list
     52 
     53 say "Adding GNU Taler apt repository"
     54 say "Detected distro $DISTRO"
     55 
     56 case $DISTRO in
     57 debian)
     58   if test "${APT_TESTING:-n}" == y; then
     59     cat >/etc/apt/sources.list.d/taler.sources <<EOF
     60 Architectures: amd64
     61 Components: main
     62 X-Repolib-Name: Taler
     63 Signed-By: /etc/apt/keyrings/taler-systems.gpg
     64 Suites: $VERSION_CODENAME-testing
     65 Types: deb
     66 URIs: https://deb.taler.net/apt/debian
     67 EOF
     68     say "Setup $VERSION_CODENAME-testing packages"
     69     wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log
     70   else
     71     cat >/etc/apt/sources.list.d/taler.sources <<EOF
     72 Architectures: amd64
     73 Components: main
     74 X-Repolib-Name: Taler
     75 Signed-By: /etc/apt/keyrings/taler-systems.gpg
     76 Suites: $VERSION_CODENAME
     77 Types: deb
     78 URIs: https://deb.taler.net/apt/debian
     79 EOF
     80     wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log
     81   fi
     82   ;;
     83 ubuntu)
     84   echo "deb [signed-by=/etc/apt/keyrings/taler-systems.gpg] https://deb.taler.net/apt/ubuntu $VERSION_CODENAME main" >/etc/apt/sources.list.d/taler.list
     85   wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log
     86   ;;
     87 *)
     88   say "Unsupported distro: $DISTRO"
     89   exit 1
     90   ;;
     91 esac
     92 
     93 ## Specific GNU Taler packages
     94 
     95 say "Installing GNU Taler packages (this may take a while)..."
     96 
     97 apt-get update &>> setup.log
     98 apt-get install \
     99   taler-exchange \
    100   taler-terms-generator \
    101   taler-merchant \
    102   taler-harness \
    103   taler-wallet-cli \
    104   taler-exchange-offline \
    105   libeufin-bank \
    106   libeufin-nexus \
    107   -y \
    108   &>> setup.log