taler-deployment

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

install_packages.sh (2021B)


      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_NIGHTLY:-n}" == y; then
     59     say "Setup nightly packages"
     60     echo "deb [trusted=yes] https://deb.taler.net/apt-nightly $VERSION_CODENAME main" >/etc/apt/sources.list.d/taler.list
     61   else
     62     echo "deb [signed-by=/etc/apt/keyrings/taler-systems.gpg] https://deb.taler.net/apt/debian $VERSION_CODENAME main" >/etc/apt/sources.list.d/taler.list
     63   fi
     64   ;;
     65 ubuntu)
     66   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
     67   ;;
     68 *)
     69   say "Unsupported distro: $DISTRO"
     70   exit 1
     71   ;;
     72 esac
     73 
     74 wget -O /etc/apt/keyrings/taler-systems.gpg https://taler.net/taler-systems.gpg &>> setup.log
     75 
     76 ## Specific GNU Taler packages
     77 
     78 say "Installing GNU Taler packages (this may take a while)..."
     79 
     80 apt-get update &>> setup.log
     81 apt-get install \
     82   taler-exchange \
     83   taler-terms-generator \
     84   taler-merchant \
     85   taler-harness \
     86   taler-wallet-cli \
     87   taler-exchange-offline \
     88   libeufin-bank \
     89   libeufin-nexus \
     90   -y \
     91   &>> setup.log