Amnezia Web PRO Deploy
Legacy transitional repo для Amnezia Web PRO.
Канонический продукт и установщик сейчас живут в private repo:
andrey271192/amnezia_web-PRO_test
Этот repo оставлен только как redirect/совместимость для старых ссылок из Boosty, README и ранних инструкций. Для новых установок используйте install.sh напрямую из amnezia_web-PRO_test.
Решение по будущему:
- не удалять сразу, пока старые публичные ссылки могут быть у подписчиков;
- оставить README/quick-install как redirect на private source install;
- после полной миграции Boosty-постов и документации можно архивировать repo на 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:
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:
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 скачает и запустит основной установщик:
https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/install.sh
Если GITHUB_TOKEN не передан, GitHub вернёт 404 или 403. Это нормально: repo закрыт.
Почему больше не GHCR
Старый сценарий тянул private image:
ghcr.io/andrey271192/amnezia-admin-pro:v1.0.0
Если у GitHub PAT нет доступа к package или package закрыт, Docker показывает:
unexpected status ... 403 Forbidden
Это не ошибка VPS и не ошибка Docker. Это отказ GitHub Container Registry. Чтобы не ловить эту ошибку у подписчиков, обычная установка теперь идёт из private GitHub repo.
Предупреждение Docker:
WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'
не является причиной ошибки. Это только предупреждение Docker.
Legacy GHCR mode
Оставлен только для ручного использования, если есть доступ к package:
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
или:
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:
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 установлен, но сервис не запущен.
sudo systemctl enable --now docker
docker info
docker compose не найден
Обычный установщик сам ставит Docker Compose plugin. Если запускаете legacy GHCR mode вручную, обновите Docker/Compose:
sudo apt-get update
sudo apt-get install -y docker-compose-plugin
docker compose version
Порт панели занят
Укажите другой порт при установке основного проекта:
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 явно:
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
Нужна полная переустановка
Удалите панель с данными и поставьте заново:
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
Удаление
Обычная остановка панели:
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
Полная очистка с данными:
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-установки:
cd /opt/amnezia-web-pro
git pull
docker compose build
docker compose up -d
Поддержка проекта
- GitHub: andrey271192/amnezia_web-PRO_test
- Boosty: boosty.to/andrey27/donate
- Telegram: @PCAdministration