Viewu
Viewu is an iOS companion app for Frigate NVR. It focuses on three outcomes:
- Fast setup (clear configuration paths for common home-network layouts)
- Reliable day-to-day use (predictable playback and actionable logs)
- Flexible connectivity (LAN, VPN, and Cloudflare Tunnel patterns)
What you can do with Viewu
- View live cameras (RTSP/HLS depending on your stack)
- Browse an event timeline with filters (camera, label, zones, etc.)
- Download event clips as MP4 exports
- Receive Apple Push Notifications (requires Viewu Server + MQTT)
Screenshots (what to expect)
These are real screens you will see once the app is connected:
Event Timeline Screenshot

Event Details Screenshot

Architecture at a glance
A typical “notifications enabled” setup looks like this:
- Frigate generates events and snapshots.
- MQTT broker (Mosquitto) carries Frigate event messages.
- Viewu Server subscribes to MQTT and sends Apple Push Notifications.
- Your iPhone connects to Frigate for live video and timeline browsing, and fetches snapshot images for rich notifications.
Why HTTPS matters (especially for iOS)
For the most reliable iOS behavior (snapshots, streaming, fewer TLS surprises), prefer:
- A hostname (domain), and
- A trusted certificate (Cloudflare edge TLS or Let’s Encrypt)
LAN IPs can work fine, but self-signed HTTPS and HTTPS on an IP address are where iOS tends to be least forgiving (especially for notification images). Viewu will attempt to connect in these scenarios, but for the most reliable results we recommend using a hostname with a trusted certificate (Cloudflare or Let’s Encrypt).
Remote access model
Both approaches work. The right choice depends on what you want to optimize for.
Option A: VPN (Tailscale) — recommended starting point
Use Tailscale when you want the simplest and safest remote access model:
- Nothing is publicly exposed to the internet
- No Cloudflare account or Access policy required
- Great for personal use (you control every device on the VPN)
Tradeoff: your phone must be connected to the VPN when you want remote access (including when a notification arrives and the phone tries to fetch snapshot images).
Option B: Cloudflare Tunnel — no VPN required
Use Cloudflare Tunnel when you want access without requiring a VPN on the phone:
- Public hostnames (e.g.,
nvr.example.com,mqtt.example.com) - Cloudflare terminates TLS at the edge
- You can lock it down with Cloudflare Access (recommended)
Tradeoff: more infrastructure to configure correctly (tunnel + Access + origin services). This guide set includes “common traps” to keep you out of the weeds.
Quick start
- Configure the iOS app: Viewu iOS App → Installation & Setup
- If you want push notifications:
- Deploy the server: Viewu Server → Docker Setup
- Complete prerequisites and ordering: Notifications → Overview
- If you are using Cloudflare:
Common gotchas (learned the hard way)
- For MQTT through Cloudflare, your origin must be HTTP WebSockets (not HTTPS, not raw TCP). Most Mosquitto installs use WebSockets on port
9001. - If you protect endpoints with Cloudflare Access, Viewu must send
CF-Access-Client-IdandCF-Access-Client-Secretfrom a Service Token (not an interactive browser login). - If something “sort of works” on LAN but breaks on cellular, it is almost always one of:
- DNS/hostname not reachable externally
- missing Cloudflare Access headers
- snapshots only reachable on a private IP
Privacy
Viewu does not require user accounts. Configuration is stored on-device.