Files
amnezia-web-pro-deploy/README.md
Андрей Бобырев bf306d2e9a docs: polish subscriber install docs
2026-06-06 01:59:37 +03:00

232 lines
7.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Amnezia Web PRO Deploy
Приватный установщик **Amnezia Web PRO** на VPS. Доступ выдаётся подписчикам Boosty через private GitHub repo.
Основной сценарий:
- источник: `andrey271192/amnezia_web-PRO_test`;
- текущий релиз: `v1.5.2`;
- нужен `GITHUB_TOKEN` с доступом к private repo;
- GHCR больше не используется для обычной установки;
- старый GHCR-режим оставлен только вручную через `USE_GHCR=1`.
## Что делает установщик
- скачивает актуальный `install.sh` из private repo;
- ставит Docker, если его нет;
- разворачивает панель в `/opt/amnezia-web-pro`;
- создаёт `.env`;
- собирает и запускает Docker Compose stack;
- поддерживает явный первый пароль admin через `ADMIN_PASSWORD`;
- не требует GHCR PAT для обычной установки;
- требует GitHub token для доступа к private repo.
## Быстрая установка
На VPS от root:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh \
| sudo -E bash
```
То же самое с явным первым паролем admin:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
export ADMIN_PASSWORD='СЛОЖНЫЙ_ПАРОЛЬ'
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh \
| sudo -E bash
```
`quick-install.sh` скачает и запустит основной установщик:
```bash
https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/install.sh
```
Если `GITHUB_TOKEN` не передан, GitHub вернёт `404` или `403`. Это нормально: repo закрыт.
## Почему больше не GHCR
Старый сценарий тянул private image:
```text
ghcr.io/andrey271192/amnezia-admin-pro:v1.0.0
```
Если у GitHub PAT нет доступа к package или package закрыт, Docker показывает:
```text
unexpected status ... 403 Forbidden
```
Это не ошибка VPS и не ошибка Docker. Это отказ GitHub Container Registry. Чтобы не ловить эту ошибку у подписчиков, обычная установка теперь идёт из private GitHub repo.
Предупреждение Docker:
```text
WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'
```
не является причиной ошибки. Это только предупреждение Docker.
## Legacy GHCR mode
Оставлен только для ручного использования, если есть доступ к package:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
USE_GHCR=1 curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh \
| sudo -E bash
```
или:
```bash
USE_GHCR=1 sudo -E bash scripts/install.sh
```
Нужны:
- GitHub PAT с `read:packages`;
- доступ к package `ghcr.io/andrey271192/amnezia-admin-pro`;
- существующий tag из `PRO_IMAGE_TAG`.
## Проблемы и решения
### `403 Forbidden` при `docker pull ghcr.io/...`
Причина: старый GHCR-сценарий пытается скачать private image, а у token нет доступа к package.
Решение: используйте обычную установку без GHCR:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh \
| sudo -E bash
```
### `Login Succeeded`, но pull всё равно падает
`docker login` проверяет только логин/token. Он не гарантирует доступ к конкретному package.
Решение: не используйте GHCR-режим. Если GHCR всё-таки нужен, проверьте:
- PAT имеет `read:packages`;
- GitHub account имеет доступ к package;
- package не private для этого пользователя;
- tag из `PRO_IMAGE_TAG` реально опубликован.
### `WARNING! Your credentials are stored unencrypted`
Это предупреждение Docker, не ошибка установки. Оно не вызывает `403 Forbidden`.
### `Docker daemon недоступен`
Docker установлен, но сервис не запущен.
```bash
sudo systemctl enable --now docker
docker info
```
### `docker compose` не найден
Обычный установщик сам ставит Docker Compose plugin. Если запускаете legacy GHCR mode вручную, обновите Docker/Compose:
```bash
sudo apt-get update
sudo apt-get install -y docker-compose-plugin
docker compose version
```
### Порт панели занят
Укажите другой порт при установке основного проекта:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
export NGINX_HTTP_PORT=8081
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/install.sh \
| sudo -E bash
```
### Не входит в панель после переустановки
Задайте новый пароль admin явно:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
export ADMIN_PASSWORD='НОВЫЙ_ПАРОЛЬ'
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/install.sh \
| sudo -E bash
```
### Нужна полная переустановка
Удалите панель с данными и поставьте заново:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/uninstall.sh \
| sudo REMOVE_DATA=1 REMOVE_DIR=1 bash
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh \
| sudo -E bash
```
## Удаление
Обычная остановка панели:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/uninstall.sh \
| sudo -E bash
```
Полная очистка с данными:
```bash
export GITHUB_TOKEN='ТОКЕНЗ_BOOSTY'
curl -fsSL -H "Authorization: Bearer ${GITHUB_TOKEN}" \
https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/uninstall.sh \
| sudo REMOVE_DATA=1 REMOVE_DIR=1 bash
```
## Обновление
В панели: **Настройки → О программе и обновления → Проверить обновления**.
Доступно:
- стабильный канал;
- beta-канал;
- выбор версии;
- откат на старый tag.
Ручное обновление source-установки:
```bash
cd /opt/amnezia-web-pro
git pull
docker compose build
docker compose up -d
```
## Поддержка проекта
- GitHub: [andrey271192/amnezia_web-PRO_test](https://github.com/andrey271192/amnezia_web-PRO_test)
- Boosty: [boosty.to/andrey27/donate](https://boosty.to/andrey27/donate)
- Telegram: [@PCAdministration](https://t.me/PCAdministration)