Repository navigation
feature guide
Use this chapter to find the part of KeepPeek that owns a task. It describes the current application, including controls that are visible but unavailable. A design reference or generated API type does not, by itself, mean that a feature works in the running server.
KeepPeek remains in Alpha qualification. Availability also depends on your role, camera grants, device capabilities, recording coverage, and browser codec support.
The desktop shell and mobile navigation lead to the same workflows. On a phone, More opens Settings; Administrator-only navigation is hidden for Users.
| Screen | Route | Use it for | Read next |
|---|---|---|---|
| Dashboard, also called Peek | / |
Watch the fleet, select a saved dashboard, arrange cameras, and adjust wall display settings. | Live wall |
| Viewer | /viewer |
Focus on a camera, switch feeds, listen to supported audio, and enter History. | Live wall, digital zoom |
| Keep | /keep |
Investigate a recorded day, seek to an exact moment, inspect gaps and events, and create evidence exports. | Recording and evidence |
| Events | /events |
Search stored events by time, camera, type, source, zone, confidence, image availability, and text. Review or dismiss events and open their recording context. | Recording and evidence |
| Cameras | /cameras |
Inspect the inventory and open camera configuration. Start discovery or manual setup at /cameras/new. |
Camera controls |
| Camera details | /camera |
Inspect and edit the selected camera and use the device controls it advertises. | Camera controls |
| System health | /system-health |
Diagnose recorder, storage, camera, stream, and integration health. Open an individual camera for detailed evidence. | Camera and stream health |
| Camera health | /system-health/camera/[cameraId] |
Inspect lifecycle, stream progress, and recording evidence for one camera. | Camera and stream health |
| Settings | /settings |
Manage server configuration, dashboards, storage, backups, access, events, and integrations. | Visual configuration management |
| Logs | /settings/logs |
Inspect live server and browser logs and collect diagnostics. | Reporting bugs |
| Recording integrity | /recordings |
Inspect recording coverage, gaps, and integrity before opening maintenance. | Recording maintenance |
| Recording maintenance | /recordings/maintenance |
Inspect recording integrity and explicitly plan and confirm maintenance. | Recording maintenance |
| Initial setup | /setup |
Complete the first-run setup workflow. | Get started |
Camera and event links carry the selected identity and, when appropriate, a timestamp. Keep those query parameters when sharing a deep link. A link does not grant its recipient permission to view the camera.
- Select a camera in Dashboard or Viewer and inspect whether its live stream is advancing.
- Use History to enter Keep, or open an event's recording context from Events.
- Check the selected camera, date, and UTC time. A gap means recorded coverage is absent for that interval; a loaded player or thumbnail is not proof of continuous recording.
- Seek, play, and zoom to investigate. Digital zoom changes the browser view; PTZ moves a physical camera and has separate capability and permission requirements.
- Review the event, add the supported bookmark or evidence selection, and export the needed interval. Check the export result and retained coverage before relying on the file.
For controls, limits, time handling, and failure states, use Recording and evidence. For missing footage, start with camera health, then use maintenance or archive recovery when the evidence points to stored data.
Settings presents sections on desktop and a focused section index on mobile. Saving a draft, applying a change to a running camera, and restarting the server are distinct actions; inspect the reported result rather than assuming that a successful file write proves activation.
| Settings area | What it controls | Documentation |
|---|---|---|
| Dashboards | Saved layouts, camera placement, audience, and wall presentation/resource choices. | Live wall |
| Storage & retention | Recording paths, retention, pressure thresholds, policies, and maintenance. | Configuration reference, recording maintenance |
| Backup & restore | Backup lifecycle, uploads, restore planning, activation, and rollback evidence. | Backup and restore |
| Event sources | Read-only catalog and origin context. The live source registry is unavailable; configure native adapters through the camera/configuration workflows. | Native events, external analysis |
| Groups | The declared group model and its current unavailable runtime controls. | Groups: current status |
| Notifications | Rules, delivery destinations, history, and errors. | Notifications and integrations |
| Access | Named credentials, Administrator/User roles, camera grants, and session revocation. | Authentication |
| Integrations | MQTT configuration and connection evidence, alongside reference cards whose configuration is unavailable. Home Assistant setup is documented separately. | Notifications and integrations, Home Assistant |
| Appearance & time | Dark, Light, or Match system appearance and the browser's time and reduced-motion context. | Visual configuration management |
| System & updates | Server version and health context and the explicit restart action. Follow the documented upgrade procedure to replace the server. | Upgrades |
| Logs & diagnostics | Live logs and downloadable diagnostic evidence. | Reporting bugs |
For appearance, open Settings > Appearance & time and select Dark, Light, or Match system. The choice applies immediately and is saved in this browser when local storage is available; it does not change another browser or the server configuration. Video surfaces stay dark. Without a saved preference, the interface starts in Dark mode.
The browser's reported time zone and reduced-motion preference are context, not server settings. Server time zone, clock format, week-start preferences, and an alternate interface language are not configurable through this panel. Keep's UTC selection and export timestamps retain their documented meaning. System & updates shows server evidence and supports restart; an automatic update check or update-channel selector is not available. Use the upgrade procedure.
- Record without analytics: No detector or notification service is required for recording and playback.
- Use camera analytics: Enable a supported native adapter and verify real events and its connection health. Camera support differs by model and firmware.
- Use external analysis: Run a separate service that subscribes to media and publishes events through the API. KeepPeek does not install or manage detector models in its core.
- Send alerts or automate: Match committed events with notification rules, use Pushover where configured, or forward normalized events through MQTT. A rule match and successful delivery are different states. The notification rule's Forwarder action is currently unavailable; the MQTT integration is configured separately.
- Embed a camera in Home Assistant: Use the direct browser card with an appropriate named credential and browser-to-recorder connectivity.
The integration chapters explain their requirements and failure behavior. Protocol scenarios that describe future client possibilities are not an installation checklist for a shipped service.
Read the reason shown by an unavailable control. Do not interpret an unavailable count as zero, a saved configuration as a healthy connection, or advertised camera support as a successful operation. Browser Talk and live participant groups remain unavailable.
Camera access labels, dashboard audiences, and planned live participant groups are different concepts. Groups explains that distinction. The release-readiness chapter records remaining qualification boundaries; reporting bugs explains how to capture a reproducible failure safely.
- KeepPeek
- Feature guide and navigation
- Get started
- Authentication and access control
- Camera controls
- Demo videos
- Live wall and kiosk display
- Recording and evidence
- Digital zoom and pan
- Camera and stream health
- Visual configuration management
- Configuration reference
- Export and import configuration
- Backup and restore
- Upgrades and migrations
- Recording maintenance
- Recording archive recovery
- Native camera events
- External analysis
- Notifications and integrations
- Home Assistant card
- Groups and two-way audio: current status
- How KeepPeek works
- Users and design choices
- Release readiness and known limitations
- Reporting bugs
- Open source and licensing
- Contributing
- Access control
- Backup and restore
- Camera controls and vendor alignment
- Computer Vision Service Scenario
- Visual configuration management
- Demo Video Publishing
- MQTT 5 Event Forwarder
- Event-Loop Runtime
- Event presentation metadata
- Event browsing, search, and encoded previews
- Event Review and Shared Bookmarks
- Evidence exports
- External authentication proposal
- Operate external authentication
- External authentication performance evidence
- External authentication verification
- Group Client Scenarios
- Hikvision ISAPI integration notes
- Home Assistant Card
- macOS installation
- Native event recording performance
- Notification rules and delivery
- Native event acceptance evidence
- Generic ONVIF and RTSP events
- Performance benchmarks
- Event pre-recording contract proposal
- Event pre-recording performance qualification
- Event pre-recording acceptance evidence
- Pushover notifications
- Recording integrity
- Recording policy audit
- Runtime profiles implementation contract
- Secrets configuration
- Shared State Store Scenario
- Transcoding Service Scenario
- Viewer Application Scenario
- Wiki publishing
- Windows service