Продукт
Сервер работает в контуре без исходящих соединений
serve и transcribe по умолчанию офлайн: веса ищутся на диске, сокет наружу не открывается. Модель загружает отдельная команда download на машине, где сеть есть.
Сеть
Дефолты закрытые, исключения явные
Без весов serve не стартует
Пустой каталог моделей завершает запуск ошибкой, в GitVerse сервер при этом не ходит. Веса заранее скачивает команда download на машине с сетью. Флаг --allow-download существует для лаборатории; на целевом хосте его не включают.
Источник весов выбираете вы
По умолчанию — GitVerse LFS по SSH. Внутреннее зеркало или file:// задаются флагом --model-base-url. Когда файлы уже лежат в --model-dir, сеть при старте не используется.
Webhook — единственный исходящий POST
POST уходит, только когда заданы --enable-jobs и --jobs-webhook-url. Адрес принимается лишь внутренний — RFC1918, loopback или *.local; публичные хосты и cloud metadata 169.254.169.254 сервер отклоняет. В payload — идентификатор и статус задачи, транскрипта там нет. Prometheus слушает отдельный адрес и по умолчанию выключен.
Наружу смотрит reverse proxy
Сервер слушает 127.0.0.1:9876. Не-loopback bind требует --bind-all и дальше либо файл API-ключей, либо явный --allow-insecure-bind. TLS терминирует Nginx или Caddy, gigastt остаётся на localhost.
Air-gap
В контур переносят три вещи
На целевой машине не нужны ни сеть, ни git, ни git-lfs — веса уже на диске.
- Бинарник gigastt из релиза: tarball, .deb или .rpm. Каждый артефакт сопровождается файлом SHA256SUMS.
- Product-веса: candle_int8 (~225 МБ) и v3_vocab.txt, опционально punct/, vad/candle/, speaker/, emo/.
- config.toml, если ваша конфигурация отличается от поставляемой.
gigastt serve --model-dir /var/lib/gigastt/modelsСостав бандла, проверка целостности и обновление без сети — в документации по закрытому контуру.
Данные
Аудио не уходит с хоста
Инференс выполняет локальный процесс: кадры не отправляются ни на какой API, транскрипт возвращается вызывающему и по умолчанию не пишется на диск. Телеметрии и phone-home в бинарнике нет. Tracing на уровне по умолчанию пишет длительность запроса и число слов, без текста.
Текст попадает в лог только при RUST_LOG=debug, поэтому в контуре этот уровень не включают. Подробный разбор — на странице приватности.
Поставка
Бинарник и веса умещаются в один бандл
Бандл с SHA256SUMS переносится на машину без сети; рецепт сборки и проверки — в документации по закрытому контуру.