32 lines
1.2 KiB
Markdown
32 lines
1.2 KiB
Markdown
# CleanStream Media Connector Reference
|
|
|
|
Self-hosted reference implementation of the v1 connector protocol.
|
|
|
|
```sh
|
|
PAIRING_SECRET='choose-a-long-secret' MEDIA_ROOT='/path/to/videos' node server.js
|
|
```
|
|
|
|
For production, place the service behind HTTPS and set `PUBLIC_BASE_URL` and
|
|
`APPROVAL_BASE_URL` to its HTTPS address. Scanning the TV QR code opens a phone
|
|
approval form protected by `PAIRING_SECRET`; replace that form with your own
|
|
identity provider for a production connector.
|
|
|
|
For a password-protected production connector, generate a local owner password
|
|
hash with `node hash-password.js <password>` and set `PAIRING_PASSWORD_HASH`.
|
|
`PAIRING_SECRET` is a staging-only convenience PIN and must not be used for a
|
|
shared deployment.
|
|
|
|
## Local OrbStack development
|
|
|
|
Copy `.env.example` to `.env`, set `MEDIA_ROOT` to an absolute directory with
|
|
video files, then start the shared-Caddy stack:
|
|
|
|
```sh
|
|
docker compose -p cleanstream-connector-local-domain -f docker-compose.local-domain.yml up -d
|
|
```
|
|
|
|
The connector is available at `https://cleanstream-connector.test`. The TV and
|
|
phone must be on the same LAN. Because this uses Caddy's internal certificate,
|
|
the phone must trust the local Caddy root certificate before it can open the QR
|
|
approval URL.
|