Add detailed update instructions to README
This commit is contained in:
@@ -39,6 +39,7 @@ TELEGRAM_ADMIN_ID=123456789
|
|||||||
REMNAWAVE_PANEL_NAME=Панель 1
|
REMNAWAVE_PANEL_NAME=Панель 1
|
||||||
REMNAWAVE_PANEL_URL=https://panel.example.com
|
REMNAWAVE_PANEL_URL=https://panel.example.com
|
||||||
REMNAWAVE_API_TOKEN=токен_из_панели
|
REMNAWAVE_API_TOKEN=токен_из_панели
|
||||||
|
REMNAWAVE_SUBSCRIPTION_URL=https://sub.example.com
|
||||||
```
|
```
|
||||||
|
|
||||||
> **Важно:** файл `.env` не попадает в git и не копируется в образ. Compose передаёт переменные в контейнер при старте.
|
> **Важно:** файл `.env` не попадает в git и не копируется в образ. Compose передаёт переменные в контейнер при старте.
|
||||||
@@ -152,21 +153,113 @@ sudo systemctl enable docker
|
|||||||
sudo systemctl start docker
|
sudo systemctl start docker
|
||||||
```
|
```
|
||||||
|
|
||||||
### Шаг 7. Обновление версии бота
|
### Шаг 7. Обновление
|
||||||
|
|
||||||
|
См. раздел [Обновление бота](#обновление-бота) ниже.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Обновление бота
|
||||||
|
|
||||||
|
Инструкция для уже работающей установки: подтянуть код из git, пересобрать контейнер и убедиться, что бот запустился.
|
||||||
|
|
||||||
|
### Перед обновлением
|
||||||
|
|
||||||
|
1. Убедитесь, что `.env` сохранён на сервере (он не в git).
|
||||||
|
2. Посмотрите, не появились ли новые переменные в `.env.example`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /opt/tgvpn # или каталог, куда клонировали проект
|
||||||
|
git fetch origin
|
||||||
|
git diff HEAD origin/main -- .env.example
|
||||||
|
```
|
||||||
|
|
||||||
|
Если в `.env.example` есть новые строки — добавьте их в свой `.env` вручную.
|
||||||
|
|
||||||
|
### Обновление на VPS (Docker)
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
cd /opt/tgvpn
|
cd /opt/tgvpn
|
||||||
git pull
|
|
||||||
|
# 1. Скачать изменения
|
||||||
|
git pull origin main
|
||||||
|
|
||||||
|
# 2. Пересобрать и перезапустить (простой даунтайм ~10–30 сек)
|
||||||
docker compose up -d --build
|
docker compose up -d --build
|
||||||
docker compose logs --tail=30 bot
|
|
||||||
|
# 3. Проверить логи
|
||||||
|
docker compose ps
|
||||||
|
docker compose logs --tail=50 bot
|
||||||
```
|
```
|
||||||
|
|
||||||
Старый образ можно удалить (опционально):
|
В логах должны быть строки вида: `бот @имя_бота запущен` и `администратор ID …`.
|
||||||
|
|
||||||
|
Проверка в Telegram (от аккаунта админа):
|
||||||
|
|
||||||
|
- `/start` — бот отвечает
|
||||||
|
- `/admin check` — проверка панели Remnawave
|
||||||
|
|
||||||
|
### Обновление на Windows (Docker Desktop)
|
||||||
|
|
||||||
|
```powershell
|
||||||
|
cd tgvpn
|
||||||
|
git pull origin main
|
||||||
|
docker compose up -d --build
|
||||||
|
docker compose logs --tail=50 bot
|
||||||
|
```
|
||||||
|
|
||||||
|
### Обновление без Docker (локально)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd tgvpn
|
||||||
|
git pull origin main
|
||||||
|
go build -o bot .
|
||||||
|
# остановите старый процесс бота, затем:
|
||||||
|
./bot
|
||||||
|
```
|
||||||
|
|
||||||
|
### Если изменили только `.env`
|
||||||
|
|
||||||
|
Пересборка не нужна — достаточно пересоздать контейнер:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker compose up -d --force-recreate
|
||||||
|
```
|
||||||
|
|
||||||
|
### Откат на предыдущую версию
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd /opt/tgvpn
|
||||||
|
git log --oneline -5 # найти нужный коммит
|
||||||
|
git checkout <хеш_коммита> # например: git checkout f360d53
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
Вернуться на актуальную ветку:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
git checkout main
|
||||||
|
git pull origin main
|
||||||
|
docker compose up -d --build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Очистка старых образов Docker (опционально)
|
||||||
|
|
||||||
|
После нескольких обновлений на диске копятся неиспользуемые слои:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
docker image prune -f
|
docker image prune -f
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Частые проблемы при обновлении
|
||||||
|
|
||||||
|
| Симптом | Решение |
|
||||||
|
|---------|---------|
|
||||||
|
| `git pull` конфликтует с локальными правками | `git stash` → `git pull` → `git stash pop` или сбросить локальные изменения: `git checkout -- .` |
|
||||||
|
| Бот не стартует после pull | `docker compose logs bot` — часто не хватает новой переменной в `.env` |
|
||||||
|
| Старый код в контейнере | Обязательно `--build`: `docker compose up -d --build` |
|
||||||
|
| Нет доступа к git | Проверьте SSH/HTTPS-доступ к `git.evilfox.cc` |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Развёртывание на Windows
|
## Развёртывание на Windows
|
||||||
|
|||||||
Reference in New Issue
Block a user