On this post I will leave you with a tutorial on how to setup a Monero full-node using Ubuntu 16. To host the blockchain I will use a 10$ VPN from DigitalOcean, with an additional 100GB SSD-based Block Storage volume (another 10$). So at the moment the whole setup will cost you 20$/month.
First install the required libraries:
sudo apt-get install build-essential cmake pkg-config libboost-all-dev libssl-dev libzmq3-dev libunbound-dev libsodium-dev libminiupnpc-dev libunwind8-dev liblzma-dev libreadline6-dev libldns-dev libexpat1-dev libgtest-dev doxygen graphviz
Build gtest:
sudo apt-get install libgtest-dev && cd /usr/src/gtest && sudo cmake . && sudo make && sudo mv libg* /usr/lib/
Clone and build Monero:
git clone https://github.com/monero-project/monero.git
cd monero/
make
Run the node:
monerod --rpc-bind-ip YOUR_IP --rpc-bind-port 18089 --restricted-rpc --confirm-external-bind --detach --data-dir=/mnt/volume1