← Назад

gribnik-bot-install

🔐 Войти для редактирования

🍄 Mushroom Bot — установка на VPS

Полная инструкция: как установить бота для распознавания грибов на чистый VPS.


Требования


Что входит в бота


Шаг 1. Подготовка файлов

На локальном компьютере собери папку с ботом:

mushroom-bot/
├── install.sh        ← скрипт установки
├── bot.py            ← основной код бота
├── admin_panel.py    ← админ-панель
├── bot.db            ← база данных (если есть, для восстановления)
└── img/              ← картинки грибов для каталога
    ├── beluy.png
    ├── lisichka.png
    ├── poganka.png
    └── ... (27 картинок)

Файлы бота можно взять из бэкапа: /home/dimon/.openclaw/workspace/backups/gribnik-bot/


Шаг 2. Загрузка на VPS

# Загрузить все файлы на VPS
scp -r mushroom-bot/ root@SERVER_IP:/tmp/

Или по одному:

scp bot.py admin_panel.py install.sh root@SERVER_IP:/tmp/mushroom-bot/
scp -r img/ root@SERVER_IP:/tmp/mushroom-bot/img/
scp bot.db root@SERVER_IP:/tmp/mushroom-bot/  # если есть

Шаг 3. Запуск установки

ssh root@SERVER_IP
cd /tmp/mushroom-bot
bash install.sh

Скрипт спросит:
1. BOT_TOKEN — токен от @BotFather
2. POLZA_API_KEY — ключ API от polza.ai
3. OWNER_ID — твой Telegram ID

И автоматически:
- Установит Python, venv, зависимости
- Создаст папку /opt/mushroom-bot/
- Скопирует файлы бота
- Создаст systemd-сервис
- Настроит watchdog (cron каждые 5 мин)
- Запустит бота


Шаг 4. Проверка

# Статус
systemctl status mushroom-bot

# Логи в реальном времени
journalctl -u mushroom-bot -f

# Проверить что бот отвечает
# Открой Telegram → @твой_бот → /start

Управление

Команда Описание
systemctl status mushroom-bot Статус
systemctl restart mushroom-bot Перезапуск
systemctl stop mushroom-bot Остановка
systemctl start mushroom-bot Запуск
systemctl disable mushroom-bot Отключить автозапуск
journalctl -u mushroom-bot -f Логи
journalctl -u mushroom-bot --since "1 hour ago" Логи за час

Админ-панель

В Telegram отправь боту /admin:


Структура на сервере

/opt/mushroom-bot/
├── bot.py              ← основной код
├── admin_panel.py      ← админ-панель
├── bot.db              ← SQLite база данных
├── requirements.txt    ← Python-зависимости
├── watchdog.sh         ← скрипт проверки (cron)
├── img/                ← картинки грибов
│   ├── beluy.png
│   └── ... (27 файлов)
└── venv/               ← виртуальное окружение Python

Systemd-сервис: /etc/systemd/system/mushroom-bot.service


Переменные окружения

Задаются в systemd-сервисе:

Переменная Описание
BOT_TOKEN Токен Telegram-бота
POLZA_API_KEY Ключ API Polza.ai
POLZA_BASE_URL URL API (https://polza.ai/api/v1)
POLZA_MODEL Модель (openai/gpt-4o)
OWNER_ID Telegram ID владельца
BOT_USERNAME Username бота (gribnikg_bot)

Изменить:

systemctl edit mushroom-bot
# Добавить/изменить Environment=...
systemctl restart mushroom-bot

Восстановление из бэкапа

# Остановить бота
systemctl stop mushroom-bot

# Скопировать файлы из бэкапа
cp /path/to/backup/bot.py /opt/mushroom-bot/
cp /path/to/backup/admin_panel.py /opt/mushroom-bot/
cp /path/to/backup/bot.db /opt/mushroom-bot/

# Перезапустить
systemctl start mushroom-bot

Обновление кода

# Остановить
systemctl stop mushroom-bot

# Скопировать новый bot.py
cp /tmp/bot.py /opt/mushroom-bot/bot.py
cp /tmp/admin_panel.py /opt/mushroom-bot/admin_panel.py

# Проверить синтаксис
python3 -c "import ast; ast.parse(open('/opt/mushroom-bot/bot.py').read()); print('OK')"

# Запустить
systemctl start mushroom-bot

# Проверить логи
journalctl -u mushroom-bot -f

Бэкап

# Полный бэкап
tar czf mushroom-bot-backup-$(date +%Y%m%d).tar.gz \
    /opt/mushroom-bot/bot.py \
    /opt/mushroom-bot/admin_panel.py \
    /opt/mushroom-bot/bot.db \
    /opt/mushroom-bot/img/ \
    /etc/systemd/system/mushroom-bot.service

# Скачать на локальный комп
scp root@SERVER_IP:~/mushroom-bot-backup-*.tar.gz ./

Watchdog

Скрипт /opt/mushroom-bot/watchdog.sh проверяет бот каждые 5 минут (через cron):

Cron:

crontab -l | grep watchdog
# */5 * * * * /opt/mushroom-bot/watchdog.sh

Чеклист ✅


Последнее обновление: 2026-07-18