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-path
sudo hostnamectl set-hostname example-vs01
# Or change it here
sudo vim /etc/hostname
# Change all old references
sudo vim /etc/hosts
exec bash
sudo 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 ssh
sudo vim /etc/default/ufw
# Make sure IPV6 is set to yes
ufw allow OpenSSH
ufw enable
touch ~/.hushlogin
touch /root/.hushlogin
# Replace ~/.bashrc and /root/.bashrc
Nice 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_keys
sudo apt update && sudo apt upgrade