Обновлен README.md с инструкциями по установке и управлению ботом, добавлен скрипт установки и обновлен .gitignore для исключения .python-version.
This commit is contained in:
+72
@@ -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"
|
||||
Reference in New Issue
Block a user