Skip to content

Vivchy/example-deploy-telegram-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Деплой телеграм бота на сервер


Далее project - название проета

1. Создать requirements.txt

В корне проекта создать файл зависимостей

pip freeze > requirements.txt 

2. Установить python и pip на сервер

sudo apt update

sudo apt install software-properties-common

sudo add-apt-repository ppa:deadsnakes/ppa

Press [ENTER] to continue or Ctrl-c to cancel adding it.

sudo apt install python3.8 

Проверить версию

python3.8 --version

Установить pip и virtualenv

python3.8 -m pip install --upgrade pip

pip --version

pip install virtualenv

3. Перенести проект на сервер

  1. при помощи git clone на сервер
  2. по ftp

4. Проверить работу бота (доустановка)

  1. Перейти в каталог проекта

  2. Прописать доступ к токену

    1. Создать файл auth_data.py и прописать переменную token
    2. Добавить token в nano /etc/environment
      proj_token="токен"
      1. В конфигурации
      2. TOKEN = os.environ.get("proj_token")
  3. Создать venv

    cd project
    
    virtualenv venv
    
    source venv/bin/activate
    
  4. Установить зависимости

     pip install -r requirements.txt
    
     python main.py
     

Проверить работу

остановить venv

deactivate 

Создать собственную службу для беспрерывной работы бота

sudo nano /lib/systemd/system/project.service

Прописать в файле

[Unit]
Description= description project
After=network.target

[Service]
EnvironmentFile=/etc/environment
ExecStart=/home/project/venv/bin/python main.py
ExecReload=/home/project/venv/bin/python main.py
WorkingDirectory=/home/project/
KillMode=process
Restart=always
RestartSec=5

[Install]
WantedBy=multi-user.target

Запуск

    sudo systemctl enable project
    sudo systemctl start project

При обновлении проекта systemctl нужно перезапускать

About

Пример деплоя телеграм бота на сервер

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages