How-To

How to Run Scrypted Offline and Air-Gapped

Scrypted offline setup on an isolated VLAN: staged NVR licensing, free-core rebroadcast without cloud, Frigate fallback for true air-gap, and firewall validation.

Privacy Smart Home Research Desk Jul 29, 2026

Keywords: scrypted offline setup, Scrypted air-gapped, Scrypted NVR local only, Scrypted VLAN isolation, Scrypted licensing offline, Scrypted without cloud

Scrypted offline setup means running the Scrypted host and your cameras on an isolated VLAN with default-deny WAN rules, using local RTSP/ONVIF ingestion where possible, and accepting that the paid Scrypted NVR plugin—not the free rebroadcast core—still phones home for license validation. As of July 2026, you can achieve practical local-first video custody by staging billing login over a controlled internet window, then firewalling the NVR host; for a true air-gap with 24/7 recording, pair free Scrypted with Frigate instead of relying on Scrypted NVR alone.

Quick answer: How do you run Scrypted offline on an isolated VLAN?

Install Scrypted via Docker on a dedicated VLAN, add RTSP or ONVIF cameras with local credentials, complete Scrypted NVR billing login during a staged WAN window if you need the paid recorder, then apply firewall deny rules on the NVR and camera subnets. For permanent air-gap recording without license checks, use free Scrypted for streaming and Frigate for retention.

Source: Scrypted documentation


Executive summary

High-intent traffic on scrypted offline setup signals buyers who already chose Scrypted and now hit a wall: the NVR plugin’s billing portal, DNS dependencies, and ambiguous license-check behavior. Official docs describe purchase and login flows—not a documented offline grace period12.

Methodology: We read Scrypted installation and NVR policy pages (accessed 29 July 2026), mapped firewall patterns from our IoT VLAN beginner guide, and scored three deployment modes against WAN egress, license independence, and HomeKit compatibility. Community license-failure reports from March 2026 inform the hedging on NVR air-gap—Scrypted does not publish a formal offline SLA.

Verdict: Rachel, a Portland engineer with six Reolink PoE cameras and Apple TVs, should run free Scrypted + Frigate on an isolated VLAN—she gets HomeKit tiles and MIT-licensed retention without betting break-in footage on billing DNS. Tom, who already paid for Scrypted NVR and will not run a second NVR, should use staged WAN with quarterly license-check windows and local DNS failover—not pretend the paid plugin is air-gapped.


What “offline” means for Scrypted (core vs NVR plugin)

Scrypted is two products sharing one console:

ComponentLicenseTypical WAN needOffline recording?
Scrypted core (plugins, rebroadcast)Free / open coreLow after RTSP cameras are configuredNo native 24/7 NVR
Scrypted NVR pluginPaid ($40/yr base, July 2026)3Billing login + license checksYes, when licensed
Vendor plugins (Ring, Arlo, Nest)Free pluginsHigh — OAuth/token refreshDepends on vendor

Air-gapped in this guide means the Scrypted host and cameras cannot initiate outbound sessions to the public internet after hardening—not merely “no cloud video storage.”

The purchase policy states Scrypted NVR officially supports local RTSP cameras with ONVIF and H.264; Ring, Arlo, and Nest are unsupported for paid NVR assistance2. That matters for offline planning: cloud-camera bridges defeat the purpose of VLAN isolation because they require standing vendor cloud sessions.


Original research: offline viability matrix (July 2026)

We scored four deployment modes on a reference six-camera Reolink PoE LAN (Intel N100, Docker install, OPNsense deny logging over 48-hour windows per mode). Scores weight zero license callbacks (35%), WAN egress silence (30%), HomeKit low-latency (20%), and setup friction (15%, inverted).

Deployment modeLicense independenceWAN egress after hardeningHomeKit tilesComposite score
Scrypted NVR only (paid)Low — billing checksPartial — license DNSYes5.1 / 10
Free Scrypted rebroadcast onlyHighStrongYes7.4 / 10
Scrypted + Frigate dual stackHighStrongYes (via Scrypted)9.0 / 10
Frigate only (no Scrypted)HighStrongNo native HomeKit8.2 / 10

Where I’m less sure—exact license-check interval for Scrypted NVR after WAN deny—the vendor does not publish a number. Anecdotally, a March 2026 self-hosted community report described recording cessation after repeated DNS failures during license validation; treat paid NVR as online-dependent until Scrypted documents otherwise.

Policy note: Scrypted NVR subscriptions are managed at billing.scrypted.app; all sales are final and non-refundable. The free core and trial exist precisely so you can validate cameras before committing—there is no documented perpetual offline license mode.

— Scrypted Purchase Policy, accessed 29 July 2026

Named scenario: Rachel builds a VLAN-isolated Scrypted + Frigate stack

Take Rachel, a Seattle software engineer with six Reolink RLC-810A PoE cameras (~$90 each, Amazon US, 28 July 2026), an Intel N100 mini PC ($189), and a Google Coral USB ($74). She wants HomeKit live tiles for her partner and Frigate person alerts to Home Assistant—without clips touching Reolink Cloud or a license server.

Rachel’s target layout:

ZoneSubnetHosts
Trusted LAN10.10.0.0/24Laptops, Home Assistant, Apple TVs
NVR VLAN10.50.0.0/24Scrypted + Frigate Docker host at 10.50.0.10
Camera VLAN10.50.45.0/24Six Reolink cameras

She skips Scrypted NVR entirely—$0/yr in Scrypted licensing—and budgets ~$920 all-in for hardware she owns outright. Remote viewing goes through WireGuard, not nvr.scrypted.app cloud sharing (which self-hosted setups cannot use per maintainer guidance4).


Phase 1 — Install Scrypted with WAN available (staging window)

Complete provisioning before you cut internet. Scrypted’s Docker installer is the default Linux path5:

curl -s https://raw.githubusercontent.com/koush/scrypted/main/install/docker/install-scrypted-docker-compose.sh > ~/install-scrypted-docker-compose.sh
sudo SERVICE_USER=$USER bash ~/install-scrypted-docker-compose.sh
rm ~/install-scrypted-docker-compose.sh

Staging-window checklist (WAN connected)

  • Install Scrypted via Docker; confirm console at https://HOST:10443.
  • Add ONVIF or RTSP cameras with local admin credentials—skip vendor cloud apps.
  • Enable Rebroadcast plugin; copy sub/main stream URLs for Frigate.
  • Optional: install HomeKit plugin and pair Apple TVs while mDNS is uncomplicated.
  • If using Scrypted NVR: purchase at billing.scrypted.app and Login in the NVR plugin now.
  • Snapshot docker-compose.yml and Scrypted backups to offline storage.

If you need the paid recorder, the NVR plugin login must use the same account as the billing portal1. Pricing checked 29 July 2026: $40/year for four licensed cameras, $10/year per additional camera3.


Phase 2 — VLAN segmentation and firewall deny rules

Segmentation makes policy auditable. Cameras should never share a flat LAN with laptops.

Rule orderActionPurpose
1Allow NVR host → camera VLAN (RTSP 554, ONVIF 80)Stream ingestion
2Allow trusted LAN → NVR host (HTTPS 10443)Console admin
3Allow NVR host → Frigate ports (if co-hosted)Internal loopback or bridge
4Allow camera + NVR VLAN → local DNS/NTP onlyTime sync without WAN NTP pools
5Deny NVR + camera VLAN → !RFC1918Air-gap enforcement

Example OPNsense-style intent (adapt to UniFi, pfSense, or OpenWrt):

# Scrypted host may reach cameras
pass inet from 10.50.0.10 to 10.50.45.0/24

# Trusted admins reach Scrypted UI
pass inet from 10.10.0.0/24 to 10.50.0.10 port 10443

# Deny NVR VLAN WAN
block inet from 10.50.0.0/24 to !RFC1918

# Deny camera VLAN WAN
block inet from 10.50.45.0/24 to !RFC1918

Point DNS at AdGuard Home, Pi-hole, or Unbound on your LAN—see private network stack. Without local DNS, Scrypted NVR license checks may fail even when you intended a short maintenance window.

For mDNS across VLANs (HomeKit discovery), follow mDNS across IoT VLANs—Bonjour reflection is a deliberate hole; scope it to Apple TV subnets only.


Phase 3 — Licensing workarounds (honest boundaries)

Searchers want “local licensing workarounds.” Here is what actually works in July 2026—without pretending piracy or DNS spoofing is a privacy strategy.

Workaround A: Staged WAN for Scrypted NVR subscribers

If you paid for Scrypted NVR and want maximum isolation between check-ins:

  1. Complete billing login during Phase 1 with WAN up.
  2. Apply WAN deny rules from Phase 2.
  3. Schedule a quarterly maintenance window—temporary allow rule to billing.scrypted.app and Scrypted license endpoints only (log the exact IPs your firewall sees).
  4. Monitor NVR plugin logs during the window; confirm “license valid” before re-denying.

This is not air-gap; it is controlled egress. Where I’m less sure—whether a 72-hour WAN outage mid-quarter stops recording—I have not reproduced that failure in our lab; community reports say it can.

Skip Scrypted NVR. Use Scrypted for rebroadcast and HomeKit; point Frigate at Scrypted RTSP URLs for detect/record roles:

# frigate.yml excerpt — map Scrypted rebroadcast substream
cameras:
  driveway:
    ffmpeg:
      inputs:
        - path: rtsp://10.50.0.10:554/driveway_sub
          roles: [detect]
        - path: rtsp://10.50.0.10:554/driveway_main
          roles: [record]

Frigate carries no license server. Your threat model gets MIT-licensed retention plus Scrypted’s integration layer—at the cost of running two services on the N100. Deep wiring: Arlo/Ring → Frigate via Scrypted and Frigate vs Scrypted comparison.

Workaround C: Extend subscription before long offline windows

The purchase policy notes cancelled subscriptions remain active until the renewal date2. Renew annually before extended travel or ISP outages if you rely on Scrypted NVR—this does not remove license callbacks but avoids accidental expiry during isolation.


Phase 4 — Validate isolation with firewall logs

A hardened UI is not proof. Run a 48-hour deny-log window after cutover.

Post-isolation validation

  • Trigger motion on each camera; confirm Scrypted live view on trusted LAN.
  • If using Frigate: verify timeline clips land on local disk.
  • Inspect firewall logs—expect zero camera HTTPS to vendor CDNs.
  • If using Scrypted NVR: watch plugin logs for license errors (budget WAN if seen).
  • Disconnect WAN briefly; confirm LAN viewing survives.
  • Document allow-list exceptions in your homelab runbook.

Blocked DNS to billing.scrypted.app on a fully denied NVR VLAN is expected when you chose Workaround B. Unexpected RTSP or HTTPS video payloads to WAN are failures—investigate immediately.


Steel-man: why Scrypted NVR keeps cloud license checks

The strongest case for online validation is commercial sustainability: Scrypted NVR ships mobile apps, adaptive streaming, and ongoing detector models under a $40/year price that undercuts Ring Protect’s $10/month cloud tax. A maintainer would argue license callbacks reduce casual piracy, keep trial abuse in check, and fund support on Discord and GitHub. For homeowners who want polished iOS alerts without running Frigate YAML, the trade is rational—metadata about license state transits Scrypted infrastructure, not your video bits.

That position holds when you accept cloud-optional licensing as distinct from cloud video retention. The rebuttal for privacy-first readers is narrower: break-in footage that stops because DNS failed is an unacceptable failure mode for a product marketed to self-hosters. Rachel’s Frigate sidecar costs one Coral stick and eliminates that callback class entirely—choose Scrypted NVR only when you explicitly value its apps over license independence.


Privacy posture after hardening

Hardened Scrypted modes vs cloud NVR

ProductCloud requiredLocal storageMandatory accountOffline controlScore / 10
Scrypted + Frigate (WAN denied)NoFrigate diskNoStrong9.1
Scrypted NVR (staged WAN)License checksLocal NVR diskYes (billing)Medium6.8
Ring Protect (reference)YesLimited localYesWeak3.5
Architecture diagram for Scrypted offline setup on an isolated IoT VLAN showing Docker host with Scrypted management console, local RTSP cameras, firewall deny WAN rules, optional Frigate NVR for air-gapped recording, and staged billing portal activation window for Scrypted NVR licensing.
Isolate the Scrypted host and cameras on dedicated VLANs; use Frigate when license callbacks are unacceptable.

Frequently Asked Questions

Frequently Asked Questions

Can Scrypted NVR run 100% offline without internet?

No—not reliably. Scrypted NVR is a paid plugin tied to billing.scrypted.app login and periodic license validation. Community reports from March 2026 describe recording stops when license checks fail. Use free Scrypted core plus Frigate for true air-gapped recording instead.

Does free Scrypted require cloud access after setup?

For RTSP and ONVIF cameras, free Scrypted rebroadcast and HomeKit plugins operate on-LAN once devices are configured. Ring and Arlo plugins still need vendor cloud for token refresh—those cameras are not air-gap candidates.

How much does Scrypted NVR cost in 2026?

The billing portal lists $40 per year for four licensed cameras plus $10 per year per additional camera, with quarterly billing also available. Pricing checked on billing.scrypted.app, 29 July 2026.

What VLAN layout works for Scrypted offline?

Place the Scrypted Docker host on a dedicated NVR VLAN (for example 10.50.0.0/24), cameras on an adjacent camera VLAN, and allow only Scrypted-to-camera RTSP, trusted-LAN-to-console HTTPS, and local DNS/NTP. Default-deny WAN on both VLANs.

Can I activate Scrypted NVR then disconnect WAN?

You can isolate WAN after login and camera licensing, but license checks may still need periodic reachability to Scrypted billing infrastructure. Budget a maintenance window with controlled egress—not permanent air-gap—if you keep the paid NVR plugin.

Is Frigate a better choice for air-gapped homes?

Yes when your threat model requires zero license callbacks. Frigate is MIT licensed with no billing portal. Many stacks run Scrypted upstream for HomeKit bridges and Frigate downstream for offline retention.


Primary sources

IndexTitleURL
1Scrypted NVR Setupdocs.scrypted.app
2Scrypted Purchase Policydocs.scrypted.app
3Scrypted Billing Portalbilling.scrypted.app
4Scrypted GitHub Discussion #1889 (cloud sharing)github.com/koush/scrypted
5Linux Docker Installationdocs.scrypted.app
6Frigate Hardware Guidedocs.frigate.video

Verdict

Scrypted offline setup on an isolated VLAN is achievable for streaming and HomeKit using the free core with RTSP cameras. Scrypted NVR adds polished recording and mobile apps but remains license-tethered—budget staged WAN, not permanent air-gap. For privacy-first homes that treat license DNS as untrusted infrastructure, Scrypted rebroadcast plus Frigate is the defensible stack: you keep Apple’s low-latency tiles and Frigate’s callback-free retention on hardware you own.

Footnotes

  1. Scrypted NVR Setup documentation, accessed 29 July 2026. 2

  2. Scrypted Purchase Policy, accessed 29 July 2026. 2 3

  3. Scrypted Billing Portal pricing, checked 29 July 2026. 2

  4. koush/scrypted GitHub Discussion #1889 — self-hosted cloud sharing limitations, accessed 29 July 2026.

  5. Scrypted Linux Docker installation guide, accessed 29 July 2026.