Настройка Ubuntu 20.04

У нас имеется VPS с Ubuntu 20.04, нужно настроить его для развертывания проекта.

1
2
3
4
5
6
7
8
9
# Обновим
apt update && sudo apt upgrade -y

# Создаем нового юзера
adduser www && usermod -aG sudo www

# password for sudo - off
sudo visudo
# %sudo ALL=(ALL:ALL) NOPASSWD:ALL

Выходим с сервера и копируем ssh-key

1
ssh-copy-id www@ip

Заходим под пользователем www и продолжаем настройку.

Отключим возможность заходить под root, а так же возможность логиниться по паролю:1

1
2
3
4
5
6
sudo vim /etc/ssh/sshd_config
# Ищем и исправляем следующие строки:
# AllowUsers www
# PermitRootLogin no
# PasswordAuthentication no
sudo systemctl restart sshd

Настроим фаервол UFW:2

1
2
3
sudo ufw allow OpenSSH && sudo ufw allow http && sudo ufw allow https
sudo ufw enable
sudo ufw status

Установим zsh и Oh-My-zsh и настроим тему powerlevel10k:

1
2
3
4
5
6
7
8
sudo apt install zsh -y
# reconnect
sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
vim ~/.zshrc
# ZSH_THEME="powerlevel10k/powerlevel10k"
# alias cls="clear"
source ~/.zshrc

Следующий шаг - установка Docker и Docker Compose3

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
apt-cache policy docker-ce
sudo apt install docker-ce -y
sudo systemctl status docker
sudo usermod -aG docker ${USER}
# Релогин
id -nG

Установка Docker Compose4

Свежий релиз Docker Compose

1
2
3
sudo curl -L "https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
1
2
3
4
5
6
7
8
# Free disk space
df -h -t ext4

# process
top

# free memory
free -h