Телеграм бот на Java. Деплой бота на VPS (хостинг). Настройка Traefik. Урок 21.

Published: 26 May 2024
on channel: ВходИТе, открыто!
1,724
71

В этом видео я показал процесс деплоя бота на хостинг.

0:00 начало
0:26 хостинг timeweb поднял цены в 2.5 раза — поэтому он идёт лесом
1:54 настройка хостинга beget и регистрация домена
5:30 настройка виртуальной машины
14:55 обзор нового кода
20:54 продолжение настройки виртуальной машины
26:45 обзор админки traefik
27:45 тестирование работы телеграм бота
29:27 финал

Посмотреть новый код, добавленный в данном уроке:
https://github.com/AndreyYermolenko/B...

Хостинг Beget:
https://beget.com/ru/vps

Страница управления доменами:
https://cp.beget.com/domains

Добавление нового пользователя и установка ему пароля:
$ useradd pogreb -m
$ passwd pogreb

Добавить нового пользователя в sudoerr (иначе, не будет работать команда sudo)
$ usermod -a -G sudo pogreb

Зайти под новым пользователем (ввод пароля не требуется):
$ su pogreb

Перейти в домашнюю директорию и просмотреть путь к текущей директории:
$ cd
$ pwd

Установка докера на виртуалке.
Устанавливаем служебные пакеты:
$ sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release

Добавляем ключ к официальному репозиторию Docker в систему:
$ curl -fsSL https://download.docker.com/linux/ubu... | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Добавляем репозиторий Docker:
$ 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
ВНИМАНИЕ: ютуб запрещает в описание к видео вставлять угловые скобки, поэтому команда выше работать не будет. Чтоб все заработало, нужно после "list.d/docker.list" поставить угловую скобку, указывающие вправо =))

Обновляем пакетный индекс APT:
$ sudo apt-get update

Получаем список доступных версий Docker CE (Community Edition):
$ apt-cache madison docker-ce

Устанавливаем конкретную версию Docker, указав её полностью. Я буду использовать версию: 5:20.10.13~3-0~ubuntu-jammy
$ sudo apt-get install docker-ce=5:20.10.13~3-0~ubuntu-jammy

Проверяем, что docker успешно установился и процесс-демон работает:
$ sudo systemctl status docker
Чтобы выйти из режима просмотра - нужно нажать Q.

Добавляем текущего пользователя в docker группу, чтобы выполнять операции с docker-командой без sudo:
$ sudo usermod -aG docker pogreb
Выход с виртуалки, чтобы изменения вступили в силу:
$ exit
$ exit

Проверка, что можно выполнять команды к докеру без sudo:
$ docker ps

Создаем ключ SSH:
$ mkdir -p ~/.ssh
$ cd ~/.ssh
$ ssh-keygen -t rsa -b 2048 -f github_rsa

Получаем публичный ключ и копируем его в буфер:
$ ssh-keygen -y -f ~/.ssh/github_rsa

Нужно создать конфиг на виртуалке для подключения к гиту. Команда touch создаст пустой файлик с названием config в текущей директории.
$ touch config
Для работы с файлами в данном уроке будет использован редактор VI:
$ vi config

В .ssh/config дописать:
Host gitserv
Hostname github.com
User git
IdentityFile ~/.ssh/github_rsa

Чтобы сохранить файл в редакторе VI, нужно нажать Shift + двоеточие. Внизу появится двоеточие и мигающие курсор. Нужно ввести 2 английские буквы w и q. W — означает Write, а Q — означает Quit, т.е. выйти. Таким образом, мы сохраняем изменения и закрываем файл.

Проверка соединение с github:
$ ssh gitserv

Дока с публичными ключами гитхаба:
https://docs.github.com/en/authentica...

Переходим в домашнюю директорию и клонируем нужный репозиторий со всей историей коммитов:
$ cd
$ git clone gitserv:AndreyYermolenko/BabushkinPogreb.git
Здесь вместо AndreyYermolenko укажите свой аккаунт и актуальное название репозитория, если вы его поменяли у себя, когда делали Fork.

$ cd ~/BabushkinPogreb

Утилита для генерации хеша пароля:
$ sudo apt-get install apache2-utils
Генерация хеша:
$ echo $(htpasswd -nbB admin "password")

Утилита для работы с let's encrypt:
$ sudo apt install certbot

Выпуск сертификата:
$ sudo certbot certonly --standalone -d ваш_домен

Копирование ключей:
$ mkdir /home/pogreb/certs
$ sudo cp /etc/letsencrypt/live/ваш_домен/fullchain.pem /home/pogreb/certs/fullchain.pem
$ sudo cp /etc/letsencrypt/live/ваш_домен/privkey.pem /home/pogreb/certs/privkey.pem

Запуск системы:
$ /bin/bash ~/BabushkinPogreb/scripts/deploy.sh

Админка Traefik:
https://ваш_домен:9443/dashboard/#/

Временная почта:
https://tempail.com/ru/


Группа-беседка в тг: https://t.me/enter_I7

Github с кодом проекта:
https://github.com/AndreyYermolenko/B...

Ресурсы компании РЕЛЭКС:
https://relex.ru/ru/?utm_source=youtu...
https://t.me/relexru
  / relex-group  
https://vk.com/relex_ru

#java #telegrambot #springboot #docker #deployment #vps #clouds #ssl #tls #traefik #timeweb #beget


Watch video Телеграм бот на Java. Деплой бота на VPS (хостинг). Настройка Traefik. Урок 21. online without registration, duration hours minute second in high quality. This video was added by user ВходИТе, открыто! 26 May 2024, don't forget to share it with your friends and acquaintances, it has been viewed on our site 1,724 once and liked it 71 people.