diff --git a/README.md b/README.md index 6b5b9c6..dacb61b 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,14 @@ curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh | sudo bash ``` -Скрипт сам возьмёт актуальный тег образа из файла [`PRO_IMAGE_TAG`](PRO_IMAGE_TAG), склонирует этот репозиторий в `/opt/amnezia-web-pro-deploy` и попросит ввести **ключ** (персональный токен для `docker pull` с GHCR). Ввод скрыт. +Скрипт сам возьмёт актуальный тег образа из файла [`PRO_IMAGE_TAG`](PRO_IMAGE_TAG), склонирует этот репозиторий в `/opt/amnezia-web-pro-deploy` и попросит ввести **ключ** (персональный токен для `docker pull` с GHCR). Ввод скрыт; запрос идёт через **`/dev/tty`**, чтобы работало при конструкции `curl | sudo bash`. + +Если на сервере интерактив всё равно недоступен — тот же скрипт файлом: + +```bash +curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh -o /tmp/amnezia-quick-install.sh +sudo bash /tmp/amnezia-quick-install.sh +``` ## Ручной способ (git + .env) diff --git a/docs/BOOSTY_SUBSCRIBERS_POST.md b/docs/BOOSTY_SUBSCRIBERS_POST.md index 87148c2..5a8f455 100644 --- a/docs/BOOSTY_SUBSCRIBERS_POST.md +++ b/docs/BOOSTY_SUBSCRIBERS_POST.md @@ -17,7 +17,14 @@ sudo apt-get update && sudo apt-get install -y curl git curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh | sudo bash ``` -Скрипт спросит **ключ доступа** (скрытый ввод). Вставьте ключ из блока ниже и нажмите Enter. +Скрипт спросит **ключ доступа** (скрытый ввод с клавиатуры). Вставьте ключ из блока ниже и нажмите Enter. + +Если после вставки ключа появляются ошибки — альтернатива (тот же установщик): + +```bash +curl -fsSL https://raw.githubusercontent.com/andrey271192/amnezia-web-pro-deploy/main/quick-install.sh -o /tmp/amnezia-quick-install.sh +sudo bash /tmp/amnezia-quick-install.sh +``` ### Ваш ключ (Personal Access Token для GHCR) diff --git a/quick-install.sh b/quick-install.sh index 522ca27..8388e79 100755 --- a/quick-install.sh +++ b/quick-install.sh @@ -60,9 +60,19 @@ else fi echo "" -echo "Введите ключ доступа к образу (GitHub PAT с правом read:packages)." -echo "Ввод скрыт — символы не отображаются." -read -rs GHCR_KEY +# При «curl … | sudo bash» stdin — это поток скрипта, а не клавиатура. +# Читаем ключ с настоящего терминала; иначе read получает EOF и ломает .env. +if [[ -r /dev/tty ]]; then + echo "Введите ключ доступа к образу (GitHub PAT с правом read:packages)." + echo "Ввод скрыт — символы не отображаются." + IFS= read -rs GHCR_KEY < /dev/tty || true +else + echo "Нет доступа к /dev/tty (интерактивный ввод недоступен)." + echo "Скачайте скрипт и запустите файлом:" + echo " curl -fsSL ${RAW_BASE}/quick-install.sh -o /tmp/amnezia-quick-install.sh" + echo " sudo bash /tmp/amnezia-quick-install.sh" + exit 1 +fi echo "" GHCR_KEY="$(trim "${GHCR_KEY}")" @@ -72,15 +82,16 @@ if [[ -z "${GHCR_KEY}" ]]; then fi umask 077 -cat >"${INSTALL_ROOT}/.env" <"${INSTALL_ROOT}/.env" echo "→ Запуск установки из ${INSTALL_ROOT}" exec bash "${INSTALL_ROOT}/scripts/install.sh"