Single Camera Kiosk: Shared kiosk deployment
Operational reference for shared kiosk deployment in Single Camera Kiosk.
Shared kiosk deployment
Deploy Hub 0.0.3036 and run bin/rails db:migrate. In Studio → Subscription Plans, enable Shared single-camera kiosk access for eligible plans. Existing active production-camera plan allowances also qualify, including authorized events covered by organization camera entitlements. Active subscriptions and one-time plan access are used; simply having a paid viewing plan does not grant camera operation.
The station operator sets a local PIN with python3 app.py --set-operator-pin (use the installed .venv/bin/python3 when applicable). This prompts privately and stores a salted PBKDF2 digest. Unlock station setup in the kiosk to configure its Hub address, OBS workstation and physical camera. Customer sign-in resets operator access; the operator can unlock again after selecting an authorized setup event. Prepare camera once; subsequent customers use Prepare station camera without editing connection settings.
The Hub address is fixed for customers; only an unlocked operator can change it. Customer passwords and 8-hour session tokens remain in memory and are never written to kiosk configuration. Sign-out revokes the server token when reachable, clears local identity, event/readiness/scheduling and OBS publishing settings, and preserves the installed camera. Off-air sessions with no armed start automatically sign out after five idle minutes. Active streams or armed scheduled starts reserve the session until ended/disarmed; customers must end the stream before signing out. A restart never restores a customer session or automatically resumes a scheduled start.
Users can optionally configure private publishing defaults at Account → My Camera Kiosk (/account/camera-kiosk). An event's enabled kiosk publishing destination is used when no personal destination exists or when the user selects event overrides. Live video and the viewer/player remain part of the event's existing video configuration. SRT example: srt://ingest.example:9000?mode=caller; stream ID/passphrase/latency options belong in the encrypted URL, and SRT uses no stream key. This app does not provision an upstream provider/player.
Need more help with this?
Search a specific symptom, review related guides below, or prepare a report with the app version, operating system and exact error. Guides describe the documented release; installed versions and subscription access can differ.
Prepare a support report