Самое время настраивать Oracle always free впску под наши нужды. Особенность будет в том, что сервисы мы будем поднимать с помощью Docker. Поставим Portainer, Nginx Proxy Manager, Просто Nginx хост, Хост под бд Mysql и подправим чутка конфигов. Debian по дефолту там не было, поэтому ставить будем на Ubuntu 20.04
Установка необходимых пакетов
Тут всё просто, мы ставим стандартный набор софта, бывает в зависимости от дистрибутива какие то пакеты не установлены сразу - установим все нужные нам.
sudo useradd -u 1337 -m username
sudo apt update && sudo apt upgrade -y
sudo apt install \
mc tree ncdu psmisc tmux sudo \
make build-essential \
htop speedtest-cli \
nano vim git \
wget curl \
net-tools iputils-ping \
tar unzip dos2unix \
iftop tcpdump nload iptraf nethogs bmon bwm-ng \
dnsutils iputils-tracepath ranger -y
Подключаем swap
На серверах с малым количеством оперативной памяти я всегда ставлю свап - на всякий случай. Это не обязательный шаг - если не хотите то пропускайте этот шаг.
sudo swapon -s
sudo fallocate -l 2048M /root/swapfile
sudo ls -lh /root/swapfile
sudo chmod 600 /root/swapfile
sudo mkswap /root/swapfile
sudo swapon /root/swapfile
sudo swapon -s
Так же делаем наш swap постоянным
sudo nano /etc/fstab
добавим строчку:
/root/swapfile none swap sw 0 0
Рекомендуется перезагрузить сервер и посмотреть всё ли хорошо, создаётся свап и т.д.
bash completeon
Также необязательный шаг. Тут кто то возможно поставит себе zsh или что то другое, я же следую правилу до тех пор пока по дефолту везде баш - используем везде баш.
sudo apt install bash-completion
Добавляем это в самый конец ~/.bashrc
## source it from ~/.bashrc or ~/.bash_profile ##
echo "source /etc/profile.d/bash_completion.sh" >> ~/.bashrc
## Another example Check and load it from ~/.bashrc or ~/.bash_profile ##
grep -wq '^source /etc/profile.d/bash_completion.sh' ~/.bashrc || echo 'source /etc/profile.d/bash_completion.sh'>>~/.bashrc
включим фичу для текущей сессии
source /etc/profile.d/bash_completion.sh
Установка Docker
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg
Скачаем ключ
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
и добавим его
echo \
"deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Ставим docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
Качаем docker-compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Устанавливаем необходимые права
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
Подготовка
Создадим папку где будем хранить контейнеры и бекапы. И выставляем правильные права на них.
sudo mkdir -p /app
sudo mkdir -p /backup/app
sudo chown -R ubuntu:ubuntu /app
sudo chown -R ubuntu:ubuntu /backup
Portainer
sudo docker volume create portainer_data
sudo docker run -d -p 44149:8000 \
-p 44150:9000 \
--name=portainer \
--restart=always \
-v /var/run/docker.sock:/var/run/docker.sock \
-v portainer_data:/data portainer/portainer-ce
Переходим по адресу: http://zzz.xxx.ccc.vvv:44150
Nginx Proxy Manager
sudo mkdir -p /app/NPM/{data,letsencrypt}
sudo mkdir -p /app/NPM/data/mysql
sudo chown -R ubuntu:ubuntu /app/NPM
sudo nano /app/NPM/docker-compose.yaml
Nginx под HTML или картинки
sudo mkdir -p /app/img.domain.com/data
sudo docker run --name some-nginx -d -p 39080:80 -v /app/img.domain.com/data:/usr/share/nginx/html:ro -d --restart=unless-stopped nginx
Socks5 Прокси
sudo docker run -d --name socks5_4444 -p 28131:1080 -e PROXY_USER=USERNAME -e PROXY_PASSWORD=STRONGPASSWORD --restart=unless-stopped olebedev/socks5
Отправка комментария