В этом видео я показал процесс деплоя бота на хостинг.
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
Смотрите видео Телеграм бот на Java. Деплой бота на VPS (хостинг). Настройка Traefik. Урок 21. онлайн без регистрации, длительностью часов минут секунд в хорошем качестве. Это видео добавил пользователь ВходИТе, открыто! 26 Май 2024, не забудьте поделиться им ссылкой с друзьями и знакомыми, на нашем сайте его посмотрели 1,724 раз и оно понравилось 71 людям.