Skip to content
Snippets Groups Projects
Select Git revision
  • a3b8451ca2f39280ac3e27d40699ef0a55d281d1
  • consistent_config default protected
2 results

index.rst

Blame
  • install.sh 2.16 KiB
    #!/bin/bash
    
    # preset
    APP_VERSION="1.8.2"
    DOC_VERSION="1.8"
    MIN_CPU=8
    MIN_RAM=20
    SKIP_CHECKS=${SKIP_CHECKS:-0}
    DOWNLOAD_ONLY=${DOWNLOAD_ONLY:-0}
    
    # checks
    if [[ $SKIP_CHECKS -eq 0 ]] && [[ $DOWNLOAD_ONLY -ne 1 ]]; then
      echo "[✨] Startup check ..."
      docker info > /dev/null
      if [[ $? -ne 0 ]]; then
        echo "Docker is not installed (or accessible in bash) on your system:"
        echo ""
        echo "  - install docker from https://docs.docker.com/desktop/install/linux-install/"
        echo "  - make sure the docker executable is in \$PATH"
        exit 2
      else
        echo "$(docker --version) OK"
      fi
      CPU=$(cat /proc/cpuinfo | grep processor | wc -l)
      if [[ $CPU -lt $MIN_CPU ]]; then
        echo "You do not have enough vCPU resources available:"
        echo ""
        echo "  - we found ${CPU} vCPU cores instead of necessary ${MIN_CPU}"
        echo "  - if you believe this is a mistake, skip startup checks with the SKIP_CHECKS=1 flag"
        exit 3
      else
        echo "vCPU ${CPU} OK"
      fi
      RAM=$(free -g -t | awk 'NR==2 {print $7}')
      if [[ $RAM -lt $MIN_RAM ]]; then
        echo "You do not have enough RAM free resources:"
        echo ""
        echo "  - we found ${RAM}GB RAM (free) instead of necessary ${RAM}GB"
        echo "  - if you believe this is a mistake, skip startup checks with the SKIP_CHECKS=1 flag"
        exit 4
      else
        echo "RAM ${RAM}GB OK"
      fi
    else
      echo "[✨] Skipping checks ..."
    fi
    
    # environment
    echo "[🚀] Gathering environment for version ${APP_VERSION} ..."
    curl -ksSL -o ./dist.tar.gz "https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/${APP_VERSION}/dist.tar.gz"
    tar xzfv ./dist.tar.gz
    
    if [[ $DOWNLOAD_ONLY -eq 1 ]]; then
      echo "[🎉] Successfully downloaded environment!"
      exit 0
    fi
    
    echo "[📦] Pulling images for version ${APP_VERSION} ..."
    docker compose pull
    
    echo "[🎉] Success!"
    echo ""
    echo "You can now:"
    echo ""
    echo "  1) Either start the deployment running on http://localhost, or"
    echo "  2) Edit the BASE_URL variable in .env to set your hostname"
    echo ""
    echo "Then start the local deployment with:"
    echo ""
    echo "  docker compose up -d"
    echo ""
    echo "Read about next steps online: https://www.ifs.tuwien.ac.at/infrastructures/dbrepo/${DOC_VERSION}/installation/#next-steps"