Skip to content

Instantly share code, notes, and snippets.

@debanjum
Forked from dirkk0/doit.sh
Last active August 29, 2015 14:14
Show Gist options
  • Save debanjum/3c3e92de34d290a8bc68 to your computer and use it in GitHub Desktop.
Save debanjum/3c3e92de34d290a8bc68 to your computer and use it in GitHub Desktop.
Install Pump.io on local or server ubuntu
#!/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