From f7a02b1bcfeb621670a0bfd2744fd1c4d77f76b6 Mon Sep 17 00:00:00 2001 From: CREATIVE_tg1 Date: Mon, 20 Apr 2026 23:44:59 +0300 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20README.md=20=D1=81=20=D0=B8=D0=BD=D1=81=D1=82=D1=80?= =?UTF-8?q?=D1=83=D0=BA=D1=86=D0=B8=D1=8F=D0=BC=D0=B8=20=D0=BF=D0=BE=20?= =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B5=20=D0=B8?= =?UTF-8?q?=20=D1=83=D0=BF=D1=80=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8E?= =?UTF-8?q?=20=D0=B1=D0=BE=D1=82=D0=BE=D0=BC,=20=D0=B4=D0=BE=D0=B1=D0=B0?= =?UTF-8?q?=D0=B2=D0=BB=D0=B5=D0=BD=20=D1=81=D0=BA=D1=80=D0=B8=D0=BF=D1=82?= =?UTF-8?q?=20=D1=83=D1=81=D1=82=D0=B0=D0=BD=D0=BE=D0=B2=D0=BA=D0=B8=20?= =?UTF-8?q?=D0=B8=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=20.gi?= =?UTF-8?q?tignore=20=D0=B4=D0=BB=D1=8F=20=D0=B8=D1=81=D0=BA=D0=BB=D1=8E?= =?UTF-8?q?=D1=87=D0=B5=D0=BD=D0=B8=D1=8F=20.python-version.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + README.md | 63 +++++++++++++++++++++++++++++++++++++++++- install.sh | 72 ++++++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 1 + 4 files changed, 136 insertions(+), 1 deletion(-) create mode 100644 install.sh diff --git a/.gitignore b/.gitignore index a8619ae..4af096e 100644 --- a/.gitignore +++ b/.gitignore @@ -175,3 +175,4 @@ cython_debug/ .pypirc uv.lock +.python-version \ No newline at end of file diff --git a/README.md b/README.md index 8b2c153..f215874 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,63 @@ -# ServerBot +# Server Bot Python + +## Описание + +Этот проект — Python-бот, который можно быстро развернуть на сервере с помощью systemd и скрипта автодеплоя. + +## Быстрый старт + +### 1. Клонируйте репозиторий на сервер + +``` +git clone +cd server-bot-python +``` + +### 2. Запустите скрипт установки + +``` +chmod +x install.sh +./install.sh --token <ВАШ_ТОКЕН> --user_id <ВАШ_ID> +``` + +- Скрипт скопирует проект в `/opt/server-bot-python`, установит зависимости и создаст systemd-сервис. +- После установки бот будет автоматически запускаться и перезапускаться при сбоях. + +### 3. Управление сервисом + +- Перезапустить: + ``` + sudo systemctl restart server-bot-python + ``` +- Посмотреть логи: + ``` + sudo journalctl -u server-bot-python -f + ``` +- Остановить: + ``` + sudo systemctl stop server-bot-python + ``` + +## Ручная настройка systemd (опционально) + +Пример unit-файла: `server-bot-python.service.example` + +## Требования +- Python 3.8+ +- pip +- systemd (Linux) + +## Переменные запуска +- `--token` — токен для авторизации +- `--user_id` — ID пользователя + +## Структура проекта + +- `src/` — исходный код бота +- `install.sh` — скрипт автодеплоя +- `requirements.txt` — зависимости + +--- + +**Вопросы и предложения:** создавайте issue или pull request. diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..9444fd4 --- /dev/null +++ b/install.sh @@ -0,0 +1,72 @@ +#!/bin/bash +# Пример использования: ./install.sh --token --user_id + +set -e + +# Парсинг аргументов +while [[ "$#" -gt 0 ]]; do + case $1 in + --token) + TOKEN="$2" + shift 2 + ;; + --user_id) + USER_ID="$2" + shift 2 + ;; + *) + echo "Неизвестный параметр $1" + exit 1 + ;; + esac +done + +if [[ -z "$TOKEN" || -z "$USER_ID" ]]; then + echo "Использование: $0 --token --user_id " + exit 1 +fi + +# Папка для деплоя +DEPLOY_DIR="/opt/server-bot-python" + +# Копируем проект +sudo mkdir -p "$DEPLOY_DIR" +sudo rsync -a --exclude='.git' --exclude='__pycache__' ./ "$DEPLOY_DIR"/ + +# Установка зависимостей +VENV_DIR="$DEPLOY_DIR/venv" + +# Создание виртуального окружения, если не существует +if [[ ! -d "$VENV_DIR" ]]; then + sudo python3 -m venv "$VENV_DIR" +fi + +# Установка зависимостей в venv +sudo "$VENV_DIR/bin/pip" install --upgrade pip +sudo "$VENV_DIR/bin/pip" install -r "$DEPLOY_DIR/requirements.txt" + +# Создание systemd unit-файла +SERVICE_FILE="/etc/systemd/system/server-bot-python.service" + +sudo bash -c "cat > $SERVICE_FILE" <