From ac88da4dfb1deecf10e07ac43a8db1591cf9d4dd Mon Sep 17 00:00:00 2001 From: root Date: Wed, 11 Mar 2026 09:05:11 +0000 Subject: [PATCH] =?UTF-8?q?install:=20=D1=83=D0=B1=D1=80=D0=B0=D0=BD=20apt?= =?UTF-8?q?-get,=20=D1=82=D0=BE=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=BF=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B0=20=D1=81=D0=B8=D1=81=D1=82?= =?UTF-8?q?=D0=B5=D0=BC=D0=BD=D1=8B=D1=85=20=D0=B7=D0=B0=D0=B2=D0=B8=D1=81?= =?UTF-8?q?=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- install | 24 +++++++++--------------- vendor/README.md | 4 ++-- 3 files changed, 13 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 9927f23..67adc16 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # F7cloud Talk Recording — сборка для развёртывания -В репозитории собраны **все компоненты для работы сервиса, кроме Python**. Firefox ESR и GeckoDriver скопированы с машины сборки в `vendor/` и при развёртывании на другом сервере просто копируются из репо в `/opt/firefox-esr` и `/usr/local/bin/geckodriver`. Python, xvfb и ffmpeg на целевой машине ставятся через apt в install. +В репозитории собраны **все компоненты для работы сервиса, кроме Python**. Firefox ESR и GeckoDriver скопированы с машины сборки в `vendor/` и при развёртывании на другом сервере просто копируются из репо в `/opt/firefox-esr` и `/usr/local/bin/geckodriver`. Python, xvfb и ffmpeg вы должны заранее установить на целевой машине (скрипт `install` лишь проверяет их наличие и подсказывает, чего не хватает). ## Структура @@ -34,7 +34,7 @@ f7-recording/ sudo ./install ``` -Скрипт установит через apt только Python 3.12, xvfb и ffmpeg; Firefox ESR и GeckoDriver скопирует из `vendor/` в `/opt/firefox-esr` и `/usr/local/bin`; создаст пользователя и каталоги, разложит файлы, соберёт venv и включит systemd-сервис. Конфиг создаётся из шаблона; если не заданы переменные окружения (см. ниже), в конфиг попадут плейсхолдеры — их нужно заменить вручную в `/etc/f7cloud-talk-recording/server.conf` и затем запустить сервис. +Скрипт проверяет наличие Python 3.12, xvfb и ffmpeg; если чего-то не хватает — выводит список недостающих пакетов и завершает установку с подсказкой, что их нужно доставить вручную. Firefox ESR и GeckoDriver скопирует из `vendor/` в `/opt/firefox-esr` и `/usr/local/bin`; создаст пользователя и каталоги, разложит файлы, соберёт venv и включит systemd-сервис. Конфиг создаётся из шаблона; если не заданы переменные окружения (см. ниже), в конфиг попадут плейсхолдеры — их нужно заменить вручную в `/etc/f7cloud-talk-recording/server.conf` и затем запустить сервис. ### Секреты и адреса (HPB и Nextcloud) diff --git a/install b/install index ac6a9c9..00ec555 100755 --- a/install +++ b/install @@ -34,22 +34,16 @@ if ! command -v ffmpeg >/dev/null 2>&1; then fi if [ "$NEED_PYTHON" -eq 0 ] && [ "$NEED_XVFB" -eq 0 ] && [ "$NEED_FFMPEG" -eq 0 ]; then - echo "Python 3.12, Xvfb и ffmpeg уже установлены — шаг apt пропущен." + echo "Python 3.12, Xvfb и ffmpeg уже установлены — продолжаем установку." else - echo "Не все зависимости найдены, будет использован apt-get (может потребоваться исправить репозитории)." - apt-get update -qq - PKGS="" - if [ "$NEED_PYTHON" -eq 1 ]; then - PKGS="$PKGS python3.12 python3.12-venv" - fi - if [ "$NEED_XVFB" -eq 1 ]; then - PKGS="$PKGS xvfb" - fi - if [ "$NEED_FFMPEG" -eq 1 ]; then - PKGS="$PKGS ffmpeg" - fi - # shellcheck disable=SC2086 - apt-get install -y $PKGS + echo "Не найдены обязательные системные зависимости:" + [ "$NEED_PYTHON" -eq 1 ] && echo " - python3.12 (и python3.12-venv)" + [ "$NEED_XVFB" -eq 1 ] && echo " - Xvfb (или xvfb-run)" + [ "$NEED_FFMPEG" -eq 1 ] && echo " - ffmpeg" + echo "" + echo "Установите их любым доступным способом (apt, локальное зеркало, deb-пакеты и т.п.)," + echo "затем перезапустите ./install. Сам скрипт install больше не вызывает apt-get." + exit 1 fi echo "" diff --git a/vendor/README.md b/vendor/README.md index ba62732..0ed9008 100644 --- a/vendor/README.md +++ b/vendor/README.md @@ -6,8 +6,8 @@ |------------|------------| | **vendor/firefox-esr/** | Каталог Firefox ESR (бинарь `firefox` и библиотеки). При деплое копируется в `/opt/firefox-esr`, симлинк — в `/usr/local/bin/firefox-esr`. | | **vendor/geckodriver/geckodriver** | Бинарь GeckoDriver для Linux. При деплое копируется в `/usr/local/bin/geckodriver`. | -| **xvfb, ffmpeg** | Не в репо — ставятся на целевом сервере через apt в install. | -| **Python 3.12** | Не в репо — ставится на целевом сервере через apt в install. | +| **xvfb, ffmpeg** | Не в репо — вы должны установить их на целевом сервере сами (apt, локальное зеркало и т.п.); `install` только проверяет наличие. | +| **Python 3.12** | Не в репо — вы должны установить его на целевом сервере сами; `install` лишь проверяет наличие `python3.12`. | ## Обновление vendor/ (новая машина сборки)