-
-
Save debanjum/3c3e92de34d290a8bc68 to your computer and use it in GitHub Desktop.
Install Pump.io on local or server ubuntu
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Initialise system | |
sudo apt-get update | |
# Retrieving local or external IP, Hostname | |
# if single argument | |
[ $# -eq 1 ] && ( | |
# and argument = server | |
[[ "$1" == "server" ]] && ( | |
curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//' > public.ip | |
dig +short -x `cat public.ip` > public.hostname | |
) || ( | |
# and argument = local | |
[[ "$1" == "local" ]] && ( | |
ifconfig |grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }' | grep -v lo | awk -F': ' '{ print $2 }' > public.ip | |
hostname > public.hostname | |
))) || ( | |
# else default = local IP, Hostname | |
ifconfig |grep -B1 "inet addr" |awk '{ if ( $1 == "inet" ) { print $2 } else if ( $2 == "Link" ) { printf "%s:" ,$1 } }' |awk -F: '{ print $1 ": " $3 }' | grep -v lo | awk -F': ' '{ print $2 }' > public.ip | |
hostname > public.hostname | |
) | |
# Install basic essentials | |
sudo apt-get install --yes build-essential curl git python-software-properties | |
# Install latest nodejs | |
echo "Installing NodeJS..." | |
sudo add-apt-repository --yes ppa:chris-lea/node.js | |
sudo apt-get update | |
sudo apt-get install --yes nodejs | |
# Install pump.io & its dependencies | |
echo "Installing Pump.io and dependencies..." | |
git clone https://github.com/e14n/pump.io.git | |
sudo apt-get install --yes graphicsmagick | |
cd pump.io; npm install; cd .. | |
echo "Configuring Pump.io..." | |
cp pump.io/pump.io.json.sample del.txt | |
# Delete ssl lines | |
sed -i '/key/d' del.txt | |
sed -i '/cert/d' del.txt | |
# Set IP, Hostname | |
echo -e "\tSetting IP, Hostname" | |
sed -e "s/example.com/`cat public.hostname`/g" del.txt > temp && mv temp del.txt | |
sed -e "s/example.org/`cat public.hostname`/g" del.txt > temp && mv temp del.txt | |
sed -e "s/pumpio.localhost/`cat public.hostname`/g" del.txt > temp && mv temp del.txt | |
# Set pump.io uploads folder | |
echo -e "\tSetting pump.io uploads folder to /srv/pump.io/uploads/" | |
sed -e "s/\/var\/local\/pump.io\/uploads/\/srv\/pump.io\/uploads/g" del.txt > temp && mv temp del.txt | |
mkdir pump.io/uploads | |
# Replace username with current user | |
echo -e "\tSetting pump user: $(whoami)" | |
sed -e "s/\"pumpio\"/\"$(whoami)\"/g" del.txt > temp && mv temp del.txt | |
# Install redis | |
echo "Setting up Redis..." | |
sudo apt-get --yes install redis-server | |
cd pump.io; npm install databank-redis; cd .. | |
# Set databank driver | |
echo -e "\tSetting redis as databank driver" | |
sed -e "s/disk/redis/g" del.txt > temp && mv temp del.txt | |
sed -e "s/\"dir\": \"\/tmp\/pumpio\/\"/\"host\":\"localhost\",\"port\":6379/g" del.txt > temp && mv temp del.txt | |
# Move pump.io files and folders to appropriate locations | |
echo -e "Moving Pump.io to /srv/ and pump.io.json to /etc/" | |
sudo mv del.txt /etc/pump.io.json | |
sudo mv pump.io /srv/ | |
# Start pump.io | |
echo -e "Starting pump.io..." | |
screen -S pumpserver -L -dm bash -c "cd /srv/pump.io; npm start" |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment