#!/bin/bash # PB : TODO -- Prompt if not passed in. echo "Enter repo server URL:" read reposervername REPOSERVER=$reposervername echo "Enter default repo owner:" read defaultrepoownername DEFAULTREPOOWNER=$defaultrepoownername REPOOWNER=$DEFAULTREPOOWNER echo "Enter instance name" read instancename INSTANCENAME=$instancename echo "Enter instance type:" read instancetypename INSTANCETYPE=$instancetypename echo "Enter Git user name:" read GITUSERID GITUSER=$GITUSERID echo "Enter Git user email:" read GITEMAILID GITEMAIL=$GITEMAILID # If $GITUSER = {{"git user id"}} then set $GITUSER = $USER # TODO : pavanendar -- read from user input default as login user. #OPTIONS SKIPPREREQS=false SKIPDEVPREREQS=false if [ "$SKIPPREREQS" = "true" ]; then echo "skipping prereqs for firstrun" else sudo groupadd chessprod echo "$USER" sudo usermod -a -G chessprod $USER sudo apt update # Install prerequisites for dev environment sudo apt install git git config --global user.name "$GITUSER" git config --global user.email "$GITEMAIL" git config --global credential.helper store git clone $REPOSERVER/$REPOOWNER/bbhverse #git config --global credential.helper 'store --file ~/.git-credentials' #echo "Enter git username: " #read gitUser # git config --global user.name '${gitUser}' #echo "username=$gitUser" >> ~/.git-credentials #echo "Enter git password: " #read gitPassword #git config --global user.password '${gitPassword}' #echo "password=$gitPassword" >> ~/.git-credentials #chmod 0600 ~/.git-credentials sudo apt install python2 sudo apt install build-essential sudo apt install -y make #INSTALLING NODE JS cd ~ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | bash sleep 2 touch ~/.bashrc source ~/.bashrc export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion" # This loads nvm bash_completion sleep 2 nvm list-remote sleep 2 nvm install v16.19.1 sleep 2 node --version npm --version # OLD version... #sudo apt install nodejs #sudo apt install npm # For production we create a npm global per user. # npm prefix is not compatible with nvm!!! # mkdir -p ~/.user_global_node_modules/ # npm config set prefix '~/.user_global_node_modules' # sudo mkdir /usr/local/lib/node_modules/ # sudo chown -R root:chessprod /usr/local/lib/node_modules/ # sudo chmod g+w /usr/local/lib/node_modules/ # grep -qxF 'export PATH=~/.user_global_node_modules/bin:$PATH' ~/.profile || echo 'export PATH=~/.user_global_node_modules/bin:$PATH' >> ~/.profile if [ "$SKIPPREREQS" = "true" ]; then echo "skipping dev prereqs for firstrun" else #install code sudo apt-get install wget gpg wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' rm -f packages.microsoft.gpg sudo apt install apt-transport-https sudo apt update sudo apt install code install code sudo apt-get install wget gpg wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg sudo install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' rm -f packages.microsoft.gpg sudo apt install apt-transport-https sudo apt update sudo apt install code fi sudo mkdir -p /var/chess sudo chown $USER:$USER /var/chess mkdir -p /var/chess/$INSTANCENAME sudo chown $USER:$USER /var/chess/$INSTANCENAME ROOT=/var/chess/$INSTANCENAME/$INSTANCETYPE mkdir -p $ROOT sudo chown $USER:$USER $ROOT cd $ROOT git clone $REPOSERVER/$REPOOWNER/elxr.git cd elxr npm i npm link cd .. # Install mysql # https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_lower_case_table_names # sudo debconf-set-selections < "mysql-server mysql-server/lowercase-table-names select Enabled" sudo debconf-set-selections < installchoices.js elxr use elixir elxr i