taler-deployment

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

install_packages.sh (2260B)


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