This guide helps you run OpenSentry Command locally using uv.
- Python 3.12+
- uv (see ./install-uv.md)
uv run main.py- On startup you’ll see a line like:
OpenSentry Command UI starting on http://127.0.0.1:5000 (host=0.0.0.0). - Open the printed URL in a browser.
- Visit
/settingsin the app. - Select an auth mode:
- local: use
admin/adminto log in. - oauth2: set your OAuth2 base URL (issuer), client_id, optional client_secret, and scopes.
- local: use
- The app validates your OAuth2 base URL via OIDC discovery.
If the provider is down, you will see an "OAuth2 Unavailable" page with an option to "Use local login for now". This is session-only and does not change saved settings.
- Use the main page to discover devices via mDNS
_opensentry._tcp.local. - Provide a Bearer token if your devices protect
/status. - Toggle “Include /status” to fetch device capabilities.
uv run discover.py --timeout 3.0 --status --token <TOKEN>