Table of Contents

Initial server config

In this case, a Hetzner server

Basic server configuration

Update packages

sudo apt update
sudo apt upgrade

Register local workstation SSH key

Take ~/.ssh/id_rsa.pub and paste it in `/root/.ssh/authorized_keys`

Create new user

adduser vektrat

Add user to sudoers

visudo

Resulting file should be like this

# User privilege specification
root    ALL=(ALL:ALL) ALL
vektrat ALL=(ALL) NOPASSWD:ALL

SSH config

cp -r .ssh /home/vektrat/
chown -R vektrat .ssh
chgrp -R vektrat .ssh

Reboot and try to access via ssh with the new user

Disable password login

sudo vi /etc/shadow

Edit the file to remove hashed password (careful with the rest of the info)

vektrat:*:19000:0:99999:7:::

Firewall configuration (optional)

We choose to do so at the provider's location and allow those basic services:

Direction Protocol Port Service
inbound TCP 22 SSH
inbound TCP 80 HTTP
inbound TCP 443 HTTPS

Install basic applications and services

Docker

Install docker-ce

Following those guidelines

Install docker-compose

sudo apt get install docker-compose