# Boostr local dependency build

## Included locally

- Browser JavaScript/CSS: Bootstrap, Font Awesome, Animate.css, W3.CSS, Axios, UA Parser, Pickr, LiveKit client, Marked, QRious/QRCode, Fabric, html2canvas, jsPDF, SweetAlert, Emoji Mart, Popper, Tippy, Flatpickr, PDF.js and worker, CryptoJS, Highlight.js, Quill, MediaPipe, Gifler, XSS, Anime.js and ScrollReveal.
- Google-hosted font stylesheets and font files.
- MediaPipe WASM, packed assets and background models.
- Emoji data and translations; SIP.js bundled as a self-contained ES module.
- All target-platform npm dependencies, installed node_modules, offline npm cache, generated mediasoup browser bundle, and a tested Linux x64 mediasoup worker.
- Package license notices and integrity inventories.

## Removed network requirements

Google Translate is replaced by included language dictionaries. Gravatar, DiceBear, widget avatars and maintenance artwork use local assets. GitHub button scripts are removed. Analytics, browser cloud speech recognition, remote AI avatars and ChatGPT integration are disabled.

## Run without package downloads

Extract the archive on a compatible Linux x86_64 system with Node.js 24 and glibc/libstdc++. Installed node_modules are included, so npm install is unnecessary. If reinstalling, run `sh scripts/install-offline.sh`; it uses only the included cache and worker.

Configure `.env` from `.env.template`, including a strong JWT_SECRET, your announced IP and media ports. Provision your own TLS certificate. For development only, `sh scripts/setup-local-tls.sh` generates a fresh local certificate with system OpenSSL. Run `sh scripts/start-local.sh`.

## Honest limits

This removes mandatory CDN and package-registry downloads; it is not an operating-system image. Node.js 24, Linux system libraries, TLS, reachable media ports and a browser remain prerequisites. FFmpeg is an optional system prerequisite for media conversion/RTMP workflows. The included native worker is Linux x64 only; other platforms require a platform-specific build. Public internet calls can require self-hosted TURN and DNS. External email, S3, OIDC, SIP, RTMP, avatar and other optional provider integrations remain disconnected/default-disabled or require operator configuration; their services cannot be replaced by library files. User-supplied external media links still request that user's chosen URL. Documentation hyperlinks and upstream provenance URLs remain as links, not library loads. Sites hosting/access controls are not part of the self-hosted server.

## Verification

507 existing tests passed after updating the obsolete Google Translate expectation. A clean npm ci --offline --ignore-scripts installed 410 packages from the included cache. Native media worker startup passed. All downloaded initial browser asset requests succeeded. Asset checksums cover final rewritten files. Full two-device audio/video, NAT traversal and feature-by-feature browser operation remain unverified.
