install: убран apt-get, только проверка системных зависимостей
This commit is contained in:
parent
dc77ed1c1d
commit
ac88da4dfb
|
|
@ -1,6 +1,6 @@
|
||||||
# F7cloud Talk Recording — сборка для развёртывания
|
# 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
|
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)
|
### Секреты и адреса (HPB и Nextcloud)
|
||||||
|
|
||||||
|
|
|
||||||
24
install
24
install
|
|
@ -34,22 +34,16 @@ if ! command -v ffmpeg >/dev/null 2>&1; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$NEED_PYTHON" -eq 0 ] && [ "$NEED_XVFB" -eq 0 ] && [ "$NEED_FFMPEG" -eq 0 ]; then
|
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
|
else
|
||||||
echo "Не все зависимости найдены, будет использован apt-get (может потребоваться исправить репозитории)."
|
echo "Не найдены обязательные системные зависимости:"
|
||||||
apt-get update -qq
|
[ "$NEED_PYTHON" -eq 1 ] && echo " - python3.12 (и python3.12-venv)"
|
||||||
PKGS=""
|
[ "$NEED_XVFB" -eq 1 ] && echo " - Xvfb (или xvfb-run)"
|
||||||
if [ "$NEED_PYTHON" -eq 1 ]; then
|
[ "$NEED_FFMPEG" -eq 1 ] && echo " - ffmpeg"
|
||||||
PKGS="$PKGS python3.12 python3.12-venv"
|
echo ""
|
||||||
fi
|
echo "Установите их любым доступным способом (apt, локальное зеркало, deb-пакеты и т.п.),"
|
||||||
if [ "$NEED_XVFB" -eq 1 ]; then
|
echo "затем перезапустите ./install. Сам скрипт install больше не вызывает apt-get."
|
||||||
PKGS="$PKGS xvfb"
|
exit 1
|
||||||
fi
|
|
||||||
if [ "$NEED_FFMPEG" -eq 1 ]; then
|
|
||||||
PKGS="$PKGS ffmpeg"
|
|
||||||
fi
|
|
||||||
# shellcheck disable=SC2086
|
|
||||||
apt-get install -y $PKGS
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
|
|
|
||||||
4
vendor/README.md
vendored
4
vendor/README.md
vendored
|
|
@ -6,8 +6,8 @@
|
||||||
|------------|------------|
|
|------------|------------|
|
||||||
| **vendor/firefox-esr/** | Каталог Firefox ESR (бинарь `firefox` и библиотеки). При деплое копируется в `/opt/firefox-esr`, симлинк — в `/usr/local/bin/firefox-esr`. |
|
| **vendor/firefox-esr/** | Каталог Firefox ESR (бинарь `firefox` и библиотеки). При деплое копируется в `/opt/firefox-esr`, симлинк — в `/usr/local/bin/firefox-esr`. |
|
||||||
| **vendor/geckodriver/geckodriver** | Бинарь GeckoDriver для Linux. При деплое копируется в `/usr/local/bin/geckodriver`. |
|
| **vendor/geckodriver/geckodriver** | Бинарь GeckoDriver для Linux. При деплое копируется в `/usr/local/bin/geckodriver`. |
|
||||||
| **xvfb, ffmpeg** | Не в репо — ставятся на целевом сервере через apt в install. |
|
| **xvfb, ffmpeg** | Не в репо — вы должны установить их на целевом сервере сами (apt, локальное зеркало и т.п.); `install` только проверяет наличие. |
|
||||||
| **Python 3.12** | Не в репо — ставится на целевом сервере через apt в install. |
|
| **Python 3.12** | Не в репо — вы должны установить его на целевом сервере сами; `install` лишь проверяет наличие `python3.12`. |
|
||||||
|
|
||||||
## Обновление vendor/ (новая машина сборки)
|
## Обновление vendor/ (новая машина сборки)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user