Scrypted: The Smart Home Hub That Bridges Every Platform
Smart home devices rarely play nicely across ecosystems. A Nest camera works with Google Home but not HomeKit. A cheap Wyze camera works with Alexa but requires cloud access for everything. Getting a mixed device set to work together usually means cloud integrations, third-party bridges, or just accepting fragmentation.
Photo by BoliviaInteligente on Unsplash
Scrypted solves this in a different way: it runs locally, bridges between ecosystems, and exposes your devices wherever you need them — HomeKit, Google Home, Alexa, and Home Assistant simultaneously.
What Scrypted Does
Scrypted is a local smart home platform with plugin-based device support. The key capabilities:
- Protocol bridging: Expose a Wyze camera to HomeKit, or a Z-Wave device to Google Home — without cloud routing
- Local video streaming: Camera feeds stay on your network, never touch a vendor cloud
- Cross-platform device exposure: One device can appear in multiple ecosystems at once
- Plugin ecosystem: Support for 100+ device types including cameras, sensors, lights, locks, and more
- Home Assistant integration: Works alongside HA, not instead of it
The project's primary strength is camera handling. Scrypted provides hardware-accelerated transcoding, HomeKit Secure Video support, and low-latency local streaming for cameras that otherwise require cloud routing.
Installation
The easiest path is Docker:
services:
scrypted:
image: ghcr.io/koush/scrypted:latest
container_name: scrypted
restart: unless-stopped
network_mode: host
volumes:
- ~/.scrypted/volume:/server/volume
environment:
SCRYPTED_WEBHOOK_UPDATE_AUTHORIZATION: Bearer SET_THIS_TO_SOME_SECRET
SCRYPTED_WEBHOOK_UPDATE: http://localhost:10444/v1/update
Note the network_mode: host — this is required for mDNS device discovery to work properly. Scrypted needs to broadcast on your local network to discover and expose devices.
After starting, navigate to https://your-host:10443. The default credentials are set during first-run setup.
Hardware Acceleration
If your host has an Intel GPU, AMD GPU, or Nvidia GPU, enable hardware transcoding for camera streams. This significantly reduces CPU load when serving multiple camera feeds simultaneously.
For Intel Quick Sync (most common on Intel-based mini PCs and servers):
services:
scrypted:
image: ghcr.io/koush/scrypted:latest
devices:
- /dev/dri:/dev/dri # Intel GPU access
The Scrypted UI will automatically detect available hardware decoders.
Plugin-Based Architecture
Every device type in Scrypted is handled by a plugin. Install plugins from the Plugin Store in the Scrypted UI. Common starting points:
Cameras:
@scrypted/reolink— Reolink IP cameras (one of the best-supported brands)@scrypted/amcrest— Amcrest/Dahua cameras@scrypted/hikvision— Hikvision cameras@scrypted/wyze— Wyze cameras (via local RTSP or cloud)@scrypted/unifi-protect— UniFi Protect cameras
Smart home devices:
@scrypted/zwave— Z-Wave devices via USB stick@scrypted/zigbee— Zigbee devices@scrypted/homeassistant— Import HA devices into Scrypted@scrypted/tuya— Tuya/Smart Life devices
Ecosystem bridges:
@scrypted/homekit— Expose devices to Apple HomeKit@scrypted/google-home— Expose devices to Google Home@scrypted/alexa— Expose devices to Amazon Alexa
Install the bridge plugins for whichever platforms you use, then configure which devices each bridge exposes.
Like what you're reading? Subscribe to HomeLab Starter — free weekly guides in your inbox.
HomeKit Secure Video
HomeKit Secure Video (HKSV) is one of Scrypted's most popular features. It enables camera recordings in the Apple Home app with end-to-end encryption, stored in your iCloud account (not Apple's servers).
Setup:
- Install
@scrypted/homekit - Add your cameras to Scrypted
- In the HomeKit plugin settings, enable "Secure Video" for each camera
- Add the Scrypted HomeKit bridge to Apple Home via the setup code
- In Apple Home, enable "Streaming and Detect" for each camera
Once configured, Apple Home displays camera feeds, motion alerts, and recordings without any camera vendor's cloud. The video stream goes directly from your camera (via Scrypted's local transcoding) to your Apple devices.
This works with cameras that normally have no HomeKit support whatsoever — Reolink, Amcrest, Hikvision, and others.
Integrating with Home Assistant
Scrypted and Home Assistant complement each other. Two integration approaches:
Scrypted → Home Assistant: Use the @scrypted/homeassistant plugin to import your HA entities into Scrypted, then expose them to HomeKit or Google Home through Scrypted's bridges.
Home Assistant → Scrypted: Use the Scrypted Home Assistant add-on or the custom integration to pull camera streams from Scrypted into HA. This gives HA access to Scrypted's hardware-accelerated streams and object detection.
For most setups where HA handles automations and Scrypted handles ecosystem bridging, both integrations run simultaneously.
Object Detection
Scrypted supports AI-based object detection for camera feeds:
@scrypted/coreml— Apple CoreML for macOS/M1 hosts@scrypted/tensorflow-lite— TensorFlow Lite for Linux/ARM hosts@scrypted/opencv— OpenCV for basic motion detection without ML
Object detection enables smart alerts — trigger only when a person (not a cat or a shadow) is detected. Configure thresholds and zones in the camera settings.
For a Proxmox host with an iGPU passthrough or a mini PC with integrated graphics, TensorFlow Lite runs efficiently without a dedicated GPU.
Cameras: What Works Best
Not all cameras work equally well with Scrypted. The best-supported categories:
RTSP-capable cameras: Any camera that exposes an RTSP stream works with Scrypted's generic RTSP plugin. This covers most Reolink, Amcrest, Hikvision, and Dahua cameras. Check that your camera's firmware enables RTSP access in local settings (not cloud-dependent).
Reolink: The most consistently well-supported brand. Reolink cameras have a dedicated Scrypted plugin with full feature support including PTZ control and event notifications.
UniFi Protect: If you have UniFi Protect hardware, Scrypted integrates seamlessly and exposes all cameras to HomeKit.
Avoid: Cameras that only support cloud access (some budget Wyze models, Ring) are much harder to integrate and often require account authentication through Scrypted plugins that may break when vendors change their APIs.
Performance Considerations
Scrypted's CPU and memory usage depends primarily on:
Number of cameras: Each active stream consumes transcoding resources. 4 cameras at 1080p with hardware transcoding is manageable on a modest mini PC.
Transcoding resolution: Scrypted can serve high-res streams to local devices and lower-res streams to remote access, reducing bandwidth.
Object detection: ML inference for person detection is the most CPU-intensive operation. Hardware acceleration (Quick Sync, CoreML, TensorFlow Lite with GPU) is highly recommended if you're running detection on 4+ cameras.
A typical setup with 4-6 cameras, hardware transcoding, and person detection runs comfortably on an Intel N100 mini PC or a low-power server with an iGPU.
Scrypted vs. Home Assistant for Cameras
Scrypted is specifically optimized for camera bridging and HomeKit integration. Home Assistant's camera support is good but general-purpose.
| Aspect | Scrypted | Home Assistant |
|---|---|---|
| HomeKit Secure Video | Native, well-supported | Via HomeKit Bridge (limited) |
| Hardware transcoding | First-class support | Less optimized |
| Camera plugin ecosystem | Broad, camera-focused | Broad, general-purpose |
| Automations | Basic | Extensive |
| Ecosystem bridging | HomeKit + Google + Alexa | HomeKit Bridge |
| Setup complexity | Moderate | Varies by device |
For camera-heavy setups targeting HomeKit, Scrypted is the better tool. For complex automations and non-camera devices, HA remains essential. Many homelabbers run both.
Getting Started
- Deploy Scrypted with Docker Compose using
network_mode: host - Install the HomeKit plugin and ecosystem bridge plugins you need
- Install camera plugins for your camera brands
- Add cameras by IP address and credentials
- Add the Scrypted bridge to Apple Home, Google Home, or Alexa
- Verify camera feeds appear and motion detection works
The GitHub repository is koush/scrypted with active development. The Discord community is large and responsive for troubleshooting specific camera models.
