Co-authored-by: Cursor <cursoragent@cursor.com>
Amnezia Admin WebUI
Веб-панель на вашем VPS для управления клиентами AmneziaWG: вкл/выкл, удаление, переименование, дата отключения. Работает через Docker и docker exec в контейнер Amnezia (по умолчанию amnezia-awg2).
Безопасность: контейнер с монтированием docker.sock эквивалентен root на хосте — используйте сложный пароль и по возможности ограничьте доступ по IP или TLS.
Установка одной командой
На сервере под root (или через sudo), когда репозиторий уже опубликован на GitHub:
curl -fsSL https://raw.githubusercontent.com/andrey271192/Amnezia_web/main/scripts/install.sh | sudo bash
Другой репозиторий или ветка:
GITHUB_REPO=ваш/форк BRANCH=main curl -fsSL https://raw.githubusercontent.com/ваш/форк/main/scripts/install.sh | sudo bash
Уже скачали проект вручную в /opt/amnezia-admin:
cd /opt/amnezia-admin && chmod +x scripts/install.sh && sudo SKIP_DOWNLOAD=1 bash scripts/install.sh
Переменные установки (необязательно):
| Переменная | По умолчанию | Назначение |
|---|---|---|
GITHUB_REPO |
andrey271192/Amnezia_web |
Откуда качать архив |
BRANCH |
main |
Ветка |
INSTALL_DIR |
/opt/amnezia-admin |
Куда распаковать исходники |
DATA_DIR |
/opt/amnezia-admin-data |
Том с password.hash и сессией |
HOST_PORT |
8080 |
Порт HTTP панели на хосте |
AWG_CONTAINER |
amnezia-awg2 |
Имя контейнера Amnezia WG |
ADMIN_PASSWORD |
(генерируется) | Первый пароль вместо файла |
SKIP_DOWNLOAD |
0 |
1 — не качать GitHub, собрать из INSTALL_DIR |
ALLOW_DEFAULT_PASSWORD |
0 |
1 — см. раздел «Пароль» ниже |
SKIP_LANDING |
0 |
1 — не ставить публичную страницу с футером поддержки |
LANDING_PORT |
80 |
Порт nginx-лендинга (если 80 занят — например 8081) |
LANDING_CONTAINER |
amnezia-web-landing |
Имя контейнера лендинга |
После установки: админ-панель http://IP:8080 (или ваш HOST_PORT), страница с поддержкой проекта http://IP/ на порту лендинга (по умолчанию 80). Кнопка на лендинге ведёт на админку с тем же HOST_PORT.
Удаление одной командой
curl -fsSL https://raw.githubusercontent.com/andrey271192/Amnezia_web/main/scripts/uninstall.sh | sudo bash
Полная очистка (контейнер, образ, данные панели и каталог /opt/amnezia-admin):
curl -fsSL https://raw.githubusercontent.com/andrey271192/Amnezia_web/main/scripts/uninstall.sh | sudo REMOVE_IMAGE=1 REMOVE_DATA=1 REMOVE_SRC=1 bash
Первый вход и пароль
Режим по умолчанию (рекомендуется)
Скрипт установки генерирует пароль и записывает его в файл на сервере:
sudo cat /root/amnezia-admin.initial-password
Войдите в панель этим паролем и сразу смените его в блоке «Сменить пароль».
Свой пароль при установке
ADMIN_PASSWORD='ВашНадёжныйПароль' curl -fsSL https://raw.githubusercontent.com/andrey271192/Amnezia_web/main/scripts/install.sh | sudo -E bash
После первого успешного старта переменную ADMIN_PASSWORD из команды docker run убирайте — пароль уже в томе DATA_DIR.
Пароль по умолчанию из документации (только тест / лаборатория)
Если задать при установке ALLOW_DEFAULT_PASSWORD=1, контейнер создаёт пароль из README:
- Логин в веб: пароль по умолчанию
AmneziaAdmin!ChangeMe
Его можно переопределить переменной DEFAULT_ADMIN_PASSWORD в окружении контейнера до первого создания password.hash.
На продакшене этот режим не рекомендуется.
Ручной Docker без скрипта
Нужны том -v /путь/данных:/data и один из вариантов:
-e ADMIN_PASSWORD=...при первом запуске (файлаpassword.hashещё нет);-e ALLOW_DEFAULT_PASSWORD=1— см. пароль выше;- готовый файл
password.hashв томе (продвинутый сценарий).
Разработка и локальный запуск
npm install
ADMIN_PASSWORD=localtest node server.js
Нужны Docker и контейнер Amnezia на той же машине (или проброс DOCKER_HOST).
Support links
Как на главной странице установки (лендинг на порту 80): Kaskad WebUI · GitHub · Boosty · Ozon СБП · Telegram · текст поддержки.
Поддержать проект — поставь звезду на GitHub И донат. Связаться с автором — Telegram.
| Способ | Ссылка |
|---|---|
| GitHub | Amnezia_web |
| Boosty | boosty.to/andrey27/donate |
| Ozon СБП | Ozon СБП |
| Telegram | @lot_andrey |
Ссылки совпадают с блоком в репозитории domen_hydra (Boosty / Ozon), отображаются на публичной странице после установки и в футере админ-панели.
Файл .github/FUNDING.yml задаёт кнопку Sponsor на GitHub.
Тот же блок поддержки продублирован в футере веб-интерфейса и на http://сервер:80/ (если лендинг не отключён).
Лицензия
MIT, см. LICENSE.