Files
amnezia-web-pro-deploy/README.md
Андрей Бобырев a11751b196 docs: add deploy troubleshooting
2026-06-06 01:36:02 +03:00

6.8 KiB
Raw Blame History

Amnezia Web PRO Deploy

Публичный установщик для Amnezia Web PRO на VPS. Репозиторий нужен, чтобы пользователи ставили панель одной командой без доступа к private GHCR image и без ошибки 403 Forbidden.

По умолчанию установка идёт из открытого source repo:

  • source: andrey271192/amnezia_web-PRO_test;
  • текущий релиз: v1.5.2;
  • old GHCR image больше не используется по умолчанию;
  • legacy GHCR mode оставлен только вручную через USE_GHCR=1.

Что делает установщик

  • скачивает актуальный install.sh из amnezia_web-PRO_test;
  • ставит Docker, если его нет;
  • разворачивает панель в /opt/amnezia-web-pro;
  • создаёт .env;
  • собирает и запускает Docker Compose stack;
  • поддерживает явный первый пароль admin через ADMIN_PASSWORD;
  • не требует GHCR PAT для обычной установки.

Быстрая установка

На VPS от root:

curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh | sudo bash

То же самое с явным первым паролем admin:

curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh \
  | sudo ADMIN_PASSWORD='СЛОЖНЫЙ_ПАРОЛЬ' bash

quick-install.sh скачает и запустит рабочий установщик:

https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/install.sh

Почему больше не 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. Чтобы не ловить эту ошибку у подписчиков, обычная установка теперь идёт из GitHub source.

Предупреждение Docker:

WARNING! Your credentials are stored unencrypted in '/root/.docker/config.json'

не является причиной ошибки. Это только предупреждение Docker.

Legacy GHCR mode

Оставлен только для ручного использования, если у вас реально есть доступ к package:

USE_GHCR=1 curl -fsSL 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:

curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh | sudo 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 не найден

Обычный source installer сам ставит Docker Compose plugin. Если запускаете legacy GHCR mode вручную, обновите Docker/Compose:

sudo apt-get update
sudo apt-get install -y docker-compose-plugin
docker compose version

Порт панели занят

Укажите другой порт при установке основного проекта:

NGINX_HTTP_PORT=8081 curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/install.sh | sudo -E bash

Не входит в панель после переустановки

Задайте новый пароль admin явно:

curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/install.sh \
  | sudo ADMIN_PASSWORD='НОВЫЙ_ПАРОЛЬ' bash

Нужна полная переустановка

Удалите панель с данными и поставьте заново:

curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/uninstall.sh \
  | sudo REMOVE_DATA=1 REMOVE_DIR=1 bash
curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh | sudo bash

Удаление

Обычная остановка панели:

curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/uninstall.sh | sudo bash

Полная очистка с данными:

curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia_web-PRO_test/main/uninstall.sh \
  | sudo REMOVE_DATA=1 REMOVE_DIR=1 bash

Обновление

В панели: Настройки → О программе и обновления → Проверить обновления.

Доступно:

  • release channel;
  • beta channel;
  • выбор версии;
  • rollback на старый tag.

Ручное обновление source-установки:

cd /opt/amnezia-web-pro
git pull
docker compose build
docker compose up -d

Поддержка проекта