Как правильно настроить VPS для Telegram-бота на NodeJS?

Есть Telegram-бот на NodeJS. Его нужно задеплоить на VPS-сервер.

Как это сделать правильно, а именно:

1) Как сделать так, чтобы бот работал не из-под root? И надо ли? Запускаю я бота с помощью пакета pm2. Как видно, если прописать pm2 status, бот запускается с правами root (см. скриншот).

2) Как правильно и безопасно настроить переменные окружения? Сейчас они хранятся в файле .bash_profile пользователя root.

3) Как настроить удобный деплой обновлений для бота? Допустим, я обновил код бота и отправил изменения на GitHub. Как мне сделать так, чтобы на VPS автоматически сохранились изменения кода?

4) В какой папке должен находиться Telegram-бот?

61b4b3ac65add283095468.png
  • Вопрос задан
  • 179 просмотров
Пригласить эксперта
Ответы на вопрос 1
@wonderingpeanut
Приветствую.
Проблемы 1 и 2 можно решить с помощью докера. В докерфайле можно и переменные среды указать, и изменить права пользователя. Без докера в ВМ надо будет создать пользователя без рут прав и передать права на папку с ПО этому пользователю (chown). Окружения среды обычно хранят в .env файле. Доступ к ним из ноды делается с помощью либы dotenv

Проблема 3 решается с помощью гитхаб экшенов. Нужно будет написать экшен, который будет срабатывать при изменении ветки (пуше). Этот экшен отправит новую версию бота и необходимые команды для перезапуска в впс.

пс. я сам ни разу не решал проблемы, с которыми ты столкнулся, поэтому прошу относится ко всему что я написал с долей сомнения)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы