fix: reset admin password on reinstall

This commit is contained in:
Андрей Бобырев
2026-06-05 20:17:34 +03:00
committed by andrey271192
parent 0a3f9de717
commit 0143eafde7
3 changed files with 39 additions and 8 deletions

View File

@@ -134,6 +134,22 @@ curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web/main/scrip
Принудительная пересборка образа: **`NO_CACHE=1`**.
Сброс пароля панели при переустановке:
```bash
curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web/main/scripts/install.sh \
| sudo ADMIN_PASSWORD='НОВЫЙ_ПАРОЛЬ' bash
```
Если старый **`/opt/amnezia-admin-data/password.hash`** уже есть, установщик сделает backup hash, удалит старую сессию и поднимет контейнер с новым паролем.
PRO-инструменты сервера (Cloudflare WARP, каскад, синхронизация времени хоста) включаются явно:
```bash
curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web/main/scripts/install.sh \
| sudo ENABLE_PRO_TOOLS=1 bash
```
---
## Удаление
@@ -180,6 +196,10 @@ curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web/main/scrip
Если на хосте уже что-то слушает **TCP 80**, установщик сообщит об этом и, при дефолтном **`LANDING_PORT=80`**, сам попробует другой свободный порт (обычно начиная с **8081**). Либо явно: **`LANDING_PORT=8083`**, либо **`SKIP_LANDING=1`**.
### После переустановки пишет «Неверный пароль»
Переустановка сохраняет **`/opt/amnezia-admin-data/password.hash`**, чтобы случайный апгрейд не сбросил доступ. Чтобы намеренно задать новый пароль, передайте **`ADMIN_PASSWORD`** при установке. Старый hash будет сохранён рядом как **`password.hash.bak.*`**.
### Раздел MTProto или вся панель: ошибка «Not found», API не отвечает
Чаще всего браузер бьётся не в **Node**‑процесс панели, а в **прокси** (nginx и т.п.) с неполным маппингом: **`/api/mtproto/*`**, **`/api/clients`** и остальное должны уходить на тот же upstream, что и **`/`** панели. Должен проксироваться **любой** путь под **`/api/`**, а не только отдельные location. На самой VPS **`curl -fsS http://127.0.0.1:ПОРТАНЕЛИ/health`** должен вернуть JSON с **`version`**. Если с localhost работает, а через домен — **404**, смотрите конфигурацию обратного прокси и TLS.