Run the dependency installation script on your server with the following command:
curl -sSL https://gist.githubusercontent.com/brianwebb01/3757a485ce7b8bef60e7e75567caaeea/raw/b0755cbbb2d9543802f819ebdd435d86a27e4975/ottomatik_deps.sh | sudo bash
| #!/bin/bash | |
| print_msg () { | |
| echo -en "$1\n\n"; | |
| } | |
| #########[ Install Software dependencies ]######### | |
| function version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; } | |
| INSTPY=0 | |
| PYREQ="2.6.5" | |
| PY=$(which python) | |
| if [ -z "$PY" ]; then | |
| PY3=$(which python3) | |
| if [ -z "$PY3" ]; then | |
| INSTPY=1 | |
| print_msg "Valid version of python not found"; | |
| else | |
| print_msg "Python3 found, setting up symlink for 'python' to 'python3'"; | |
| if [ ! -f /usr/bin/python ]; then | |
| sudo ln -s $PY3 /usr/bin/python | |
| fi | |
| fi | |
| fi | |
| if [ $INSTPY -eq 0 ]; then | |
| PYVER=`python --version 2>&1 | awk '{print $2}'` | |
| if version_gt $PYREQ $PYVER; then | |
| INSTPY=1 | |
| print_msg "Insufficient python version, >= $PYREQ required, $PYVER was found"; | |
| else | |
| print_msg "Valid version of python found at $PYVER (>= $PYREQ required)"; | |
| fi | |
| fi | |
| if [ $INSTPY -eq 1 ]; then | |
| APT=$(which apt) | |
| if [ -z "$APT" ]; then | |
| print_msg "APT package manager not found"; | |
| print_msg "!!! MANUAL INSTALL OF Python >= $PYREQ REQUIRED !!!"; | |
| exit 1; | |
| fi | |
| sudo apt-get update | |
| sudo apt-get install python -y | |
| fi | |
| PIP=$(which pip) | |
| if [ -z "$PIP" ]; then | |
| print_msg "Python PIP not found, installing..."; | |
| curl --silent --show-error --retry 5 https://bootstrap.pypa.io/get-pip.py | sudo -H python | |
| fi | |
| print_msg "Checking Python PIP dependencies..."; | |
| PIPS=( awscli certifi colorama python-dateutil futures ) | |
| for pkg in "${PIPS[@]}" | |
| do | |
| pipF=$(sudo -H pip list --format=legacy | grep $pkg) | |
| if [ -z "$pipF" ]; then | |
| print_msg "PIP package $pkg not found, installing..."; | |
| sudo -H pip install $pkg | |
| else | |
| print_msg "Found $pipF, moving on ..."; | |
| fi | |
| done | |
| print_msg "\n\nInstallation complete. Now you just need to setup a backup job!"; |