Skip to content
Snippets Groups Projects
install.sh 2.38 KiB
Newer Older
  • Learn to ignore specific revisions
  • David Trattnig's avatar
    David Trattnig committed
    #!/bin/bash
    
    David Trattnig's avatar
    David Trattnig committed
    if [[ $* =~ ^(prod)$ ]]; then 
    
    David Trattnig's avatar
    David Trattnig committed
    	mode="prod"
    
    fi
    
    if [ $mode == "dev" ]; then
        echo "[Installing AURA ENGINE for Development]"
    fi
    if [ $mode == "prod" ]; then
        echo "[Installing AURA ENGINE for Production]"
    fi
    
    
    echo "Installation System Packages ..."
    
    bash script/install-system-packages.sh
    
    echo "Installation OPAM Packages ..."
    
    bash script/install-opam-packages.sh
    
    
    
    # Development 
    
    David Trattnig's avatar
    David Trattnig committed
    if [ $mode == "dev" ]; then
    
        # Set LOCK file location
        LOCKFILE_DB=configuration/.install.mariadb.lock
    
    David Trattnig's avatar
    David Trattnig committed
    
        echo "Copy configuration to './configuration/engine.ini'"
    
        cp -n configuration/sample.engine.ini configuration/engine.ini
    
    David Trattnig's avatar
    David Trattnig committed
    fi
    
    
    # Production 
    
    if [ $mode == "prod" ]; then
    
        # Set LOCK file location
        LOCKFILE_DB=/etc/aura/engine/.install.mariadb.lock
    
    
        if getent passwd 'engineuser' > /dev/null 2>&1; then  
            echo "User 'engineuser' exists already."; 
        else     
            echo "Creating Engine User ..."
            adduser engineuser
            adduser engineuser sudo
        fi
        
        echo "Copy Supervisor Config to '/etc/supervisor/conf.d'"
        cp configuration/supervisor/engine-api.conf /etc/supervisor/conf.d/
    
        echo "Create Log Directory `/var/log/aura/engine`"
        mkdir -p /var/log/aura
        mkdir -p /var/log/aura/engine
    
        echo "Create Configuration Directory `/etc/aura/engine`"
        mkdir -p /etc/aura
    
    David Trattnig's avatar
    David Trattnig committed
    
        echo "Copy configuration to './configuration/engine.ini'"
    
        cp -n configuration/sample.engine.ini engine.ini
    
    David Trattnig's avatar
    David Trattnig committed
        
        echo "Set Ownership of '/opt/aura/engine', '/var/log/aura/' and '/etc/aura/engine.ini' to Engine User"
        chown -R engineuser:engineuser .
        chown -R engineuser:engineuser /var/log/aura/
        chown -R engineuser:engineuser /etc/aura/engine.ini
    
    fi
    
    
    # Development and Production
    
    David Trattnig's avatar
    David Trattnig committed
    
    
    echo "Create local Logs Folder ..."
    mkdir -p logs
    
    
    David Trattnig's avatar
    David Trattnig committed
    echo "Installing Web Application Packages ..."
    
    bash script/install-web.sh
    
    David Trattnig's avatar
    David Trattnig committed
    
    echo "Installing Python Requirements ..."
    
    python3.7 $(which pip3) install -r requirements.txt
    
    echo "Setting up database ..."
    echo 
    echo "Which database system do you want to use? (Press '1' or '2')"
    echo "  [1] MariaDB"
    echo "  [2] Other / Manually"
    echo
    
    while true; do
    read -rsn1 input
    if [ "$input" = "1" ]; then
        echo "Creating DB for MariaDB ..."
    
        bash script/init-db-mariadb.sh
    
    David Trattnig's avatar
    David Trattnig committed
        break
    
    fi
    if [ "$input" = "2" ]; then
        echo "Manual database setup selected."
    
    David Trattnig's avatar
    David Trattnig committed
        break
    
    fi
    done
    
    echo 
    echo "+++ Installation of AURA Engine finished! +++"