Skip to content

Instantly share code, notes, and snippets.

@skhameneh
Created September 7, 2018 05:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save skhameneh/84b87397a3a0712a99adaa828301e213 to your computer and use it in GitHub Desktop.
Save skhameneh/84b87397a3a0712a99adaa828301e213 to your computer and use it in GitHub Desktop.
setup
#/bin/bash
clear
cd ~
# Check for systemd
systemctl --version >/dev/null 2>&1 || { echo "systemd is required. Are you using Ubuntu 16.04?" >&2; exit 1; }
swap_size="4G"
if [ ! -f /swapfile ]; then
echo && echo "Adding swap space..."
sleep 3
sudo fallocate -l $swap_size /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
sudo sysctl vm.swappiness=10
sudo sysctl vm.vfs_cache_pressure=50
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
else
echo && echo "WARNING: Swap file detected, skipping add swap!"
sleep 3
fi
# Update system
echo && echo "Upgrading system..."
sleep 3
sudo apt-get -y update
sudo apt-get -y upgrade
# Add Berkely PPA
echo && echo "Installing bitcoin PPA..."
sleep 3
sudo apt-get -y install software-properties-common
sudo apt-add-repository -y ppa:bitcoin/bitcoin
sudo apt-get -y update
# Install required packages
echo && echo "Installing base packages..."
sleep 3
sudo apt-get -y install \
wget \
git \
libevent-dev \
libboost-dev \
libboost-chrono-dev \
libboost-filesystem-dev \
libboost-program-options-dev \
libboost-system-dev \
libboost-test-dev \
libboost-thread-dev \
libdb4.8-dev \
libdb4.8++-dev \
libminiupnpc-dev
echo && echo "Installing fail2ban..."
sleep 3
sudo apt-get -y install fail2ban
sudo service fail2ban restart
echo && echo "Installing UFW..."
sleep 3
sudo apt-get -y install ufw
echo && echo "Configuring UFW..."
sleep 3
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 6270/tcp
echo "y" | sudo ufw enable
echo && echo "Firewall installed and enabled!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment