Applies to: iOS and iPadOS 26 / macOS 26.5 / Frigate 0.17+
Connect to your server
On this page
The first run asks for one address and one login, then proves the connection works before it moves on.
The onboarding flow
Six steps, two of which are skipped when they do not apply. A footer carries Back and Continue.
Welcome
The castle artwork, the name, and the line "Local first, private by design, fast." One button: Get Started.
Server
"Connect to your Frigate server, or to a Marcellus instance in front of it." Fill in the server URL, username, and password, then tap Test connection. Continue stays disabled until that test succeeds, because the successful test is also what commits your credentials.
Which address? If you run a Marcellus sidecar, enter its address and
port. Otherwise enter the address you open Frigate's web interface at in a
browser, including the port: usually Frigate's login-protected port, 8971,
for example https://192.168.1.10:8971. The username and password are your
Frigate login. If a browser on this device can't reach that address, the
app can't either; see Remote access.
If the test fails, a Connection Doctor button appears under the result and opens the Connection Doctor as a sheet without losing what you typed. A Where do I find my server address? link opens this page.
On a local network iOS will also prompt for local-network access the first time. The step warns you so the system prompt is not a surprise.
The step explains that a Marcellus sidecar is optional and "adds event highlights, scrub previews and push alerts", with a link out to more about it.
Notifications
"Stay on top of alerts." Elsinore is silent by default. On iPhone and iPad this step mentions Live Activities on the Lock Screen; on Mac it says it notifies that Mac instead. Two buttons: Enable Notifications or Not Now.
If the system permission request does not actually land, the app rolls its own toggle back, so Settings never claims notifications are on when iOS has denied them.
Zones
Skipped entirely if your server exposes no zones. Otherwise: "What ground is what?" You confirm or correct the place class the sidecar guessed for each Frigate zone, using one picker per zone: Public, Grounds, Entrances or Restricted. The four places and what they mean are listed on the page itself, above the zones, and a summary below shows what your choices do to routing. Buttons: Looks right or Skip. If saving fails the button becomes Retry, with Continue anyway beneath it. If there are no zones yet the step says so plainly and offers Continue.
Places matter because the attention ladder routes by subject and place, not by camera.
Alerts
Skipped if zones were unavailable, and skipped if you declined notifications, because describing alert levels you will never receive is noise. Otherwise this is the same guided Alerts Setup wizard you can run later from Settings.
Done
"You're set", with a checklist of what actually happened: server connected, notifications on or off, how many zones you triaged, and the alerts summary if that step ran. Start Using Elsinore finishes.
Going back retraces the same skips in reverse, so Back never lands you on a step that was skipped.
Credentials and the Keychain
Elsinore uses Frigate's own login, not an API key. The app posts your username and password to Frigate's login endpoint and caches the session cookie it gets back.
- The server address and username are stored in app preferences, in a group shared with the notification extension.
- The password is stored in the system Keychain, in a shared access group so the notification extension can use it too. It is marked available only after first unlock, and only on this device, so it does not sync to iCloud or restore to another device.
- On Mac the app uses the data-protection keychain, which is why macOS does not prompt for login-keychain access.
Your credential is never sent anywhere except to the server you typed in.
Remote access
Overlay network (recommended). Install
Tailscale or another WireGuard-based VPN on both
the Frigate host and your device, then use the tailnet address (a
100.64.0.0/10 address, or a .ts.net MagicDNS name) as your server URL.
This keeps camera traffic off the public internet and usually lets
low-latency WebRTC live video work remotely.
Reverse proxy. A public reverse proxy with your own TLS certificate works too. Live video may fall back to higher-latency HLS, because WebRTC media travels on its own port and many proxies do not pass it through. See Live for what that fallback looks like.
Self-signed certificates do not work; the Connection Doctor says so explicitly when it sees one.
Connection Doctor
Settings › Server › Connection Doctor. It runs a ladder of checks in order and stops at the first hard failure, reporting each rung as it completes:
- Server address: does the URL parse, and will App Transport Security allow it.
- Network: does this device have a usable network at all.
- Name lookup: does the hostname resolve. Skipped for IP literals;
.ts.netand.localnames get their own advice. - Server reachable: a request to Frigate's version endpoint.
- Login: an actual login attempt, distinguishing a wrong password from a cross-host redirect, a 404, and a 200 that returns no cookie.
- Frigate identity: is the thing answering actually Frigate, or some other service that happens to return 200.
- Sidecar: informational only; it never fails the run. Reports present, absent, or undetermined.
Each rung carries a plain-language explanation and advice, for example that Tailscale is not connected on this device. Report produces a plain-text transcript of PASS, WARN, FAIL, INFO, and SKIP lines, which is what to paste into a bug report.
When a sidecar with push support is present, a second Notifications ladder appears on the same page.
At the bottom, Copy live diagnostics copies a short record of when the camera page's live picture was switched on and off. Paste it into a bug report if live video does not start. Clear empties it.
Changing or removing a server
Settings › Server shows the same credentials form as onboarding.
- Edit the URL, username, or password and tap Save settings to switch servers mid-session. Test connection checks before you commit.
- Disconnect server clears the saved server and credentials and returns you to the setup flow. It confirms first.
- Reset app goes further: it forgets the server, all settings, and your zone classifications, and returns to the welcome screen.