Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Appendix B — Offline / air-gapped checklist

Use this when the host must not reach HuggingFace or GitHub at runtime. Detailed install recipes live in Getting started and Deployment & ops; this page is the operator checklist.

On a connected machine

  • Resolve release tag: TAG=$(gh api repos/ekhodzitsky/gigastt/releases/latest -q .tag_name) (or pin v2.14.1)
  • Download offline bundle for the target arch
    (gigastt-${VER}-offline-x86_64-unknown-linux-gnu.tar.gz or aarch64)
    or deb pair: gigastt_…_amd64.deb + gigastt-model-int8_…_all.deb
  • Download .sha256 (+ .minisig if you verify with minisign)
  • Verify checksums (sha256sum -c) and optional docs/verifying-releases.md
  • If you need speaker diarization, also fetch wespeaker_resnet34.onnx (not always in the lean offline bundle) on a connected host and copy it into the model dir later — or accept mono transcripts without labels
  • If you need Silero VAD on the air-gapped host, fetch the VAD model the same way (--vad would otherwise try the network)

On the air-gapped host

  • Install binary + model (installer script, dpkg -i, or unpack tarball)
  • Confirm model files under ~/.gigastt/models/ (or your --model-dir)
  • Run with offline guard when scripting: GIGASTT_OFFLINE=1 or global --offline so a missing file fails fast instead of hanging on DNS
  • Smoke: gigastt transcribe sample.wav (no network)
  • Server: gigastt servecurl http://127.0.0.1:9876/ready
  • systemd: enable unit from the bundle; bind remains loopback unless you explicitly set --bind-all / GIGASTT_ALLOW_BIND_ANY=1

Runtime rules that stay true offline

ActionNetwork?
transcribe / transcribe-batch / watch with models on diskNo
serve after models presentNo
POST /v1/admin/reload after files replaced on diskNo
First download / missing punct / VAD / speaker modelYes (blocked by --offline)

After copy-in of new model files

# No restart required if serve is already up:
curl -s -X POST http://127.0.0.1:9876/v1/admin/reload
# {"reloaded":true,"variant":"rnnt","encoder":"int8"}

See Hot-reload.