Sufficient configuration for several small projects:
- x2 vCPU
 - 2-4GB RAM
 - 15+GB NVMe
 
My choice of OS: Ubuntu 20.04
rsync -rlptoDzP ./local-directory/ user@example.com:/remote-pathsudo hostnamectl set-hostname example-vs01
# Or change it here
sudo vim /etc/hostname
# Change all old references
sudo vim /etc/hosts
exec bashsudo adduser user
sudo usermod -aG sudo user# Add SSH-key to ~/.ssh/authorized_keys
sudo vim /etc/ssh/sshd_config
# Change PasswordAuthentication to no
# Make sure ChallengeResponseAuthentication is set to no
sudo systemctl restart sshsudo vim /etc/default/ufw
# Make sure IPV6 is set to yes
ufw allow OpenSSH
ufw enabletouch ~/.hushlogin
touch /root/.hushlogin
# Replace ~/.bashrc and /root/.bashrcNice article about deploying with Github Actions
sudo adduser deployer
sudo usermod -aG sudo deployer
sudo su deployer
ssh-keygen -b 4096
cat .ssh/key-name.pub >> .ssh/authorized_keyssudo apt update && sudo apt upgrade