Обновлен README.md с инструкциями по установке и управлению ботом, добавлен скрипт установки и обновлен .gitignore для исключения .python-version.

This commit is contained in:
2026-04-20 23:44:59 +03:00
parent 9cbbfdf4c8
commit f7a02b1bcf
4 changed files with 136 additions and 1 deletions
+1
View File
@@ -175,3 +175,4 @@ cython_debug/
.pypirc .pypirc
uv.lock uv.lock
.python-version
+62 -1
View File
@@ -1,2 +1,63 @@
# ServerBot # Server Bot Python
## Описание
Этот проект — Python-бот, который можно быстро развернуть на сервере с помощью systemd и скрипта автодеплоя.
## Быстрый старт
### 1. Клонируйте репозиторий на сервер
```
git clone <URL_РЕПОЗИТОРИЯ>
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.
+72
View File
@@ -0,0 +1,72 @@
#!/bin/bash
# Пример использования: ./install.sh --token <TOKEN> --user_id <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 <TOKEN> --user_id <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" <<EOL
[Unit]
Description=Server Bot Python
After=network.target
[Service]
Type=simple
WorkingDirectory=$DEPLOY_DIR
ExecStart=$VENV_DIR/bin/python $DEPLOY_DIR/src/main.py --token $TOKEN --user_id $USER_ID
Restart=always
User=$(whoami)
[Install]
WantedBy=multi-user.target
EOL
# Перезапуск сервиса
sudo systemctl daemon-reload
sudo systemctl enable server-bot-python.service
sudo systemctl restart server-bot-python.service
echo "Деплой и запуск завершены. Логи: sudo journalctl -u server-bot-python -f"
+1
View File
@@ -1,3 +1,4 @@
python-dotenv python-dotenv
psutil psutil
aiogram aiogram
pydantic-settings