These guides map an industry's concepts onto the objects the platform has today (bouquets, lines, packages, partner accounts, nodes, the API). They are conceptual mappings, not industry-specific features, and a partner account is a delegated account, not an isolated tenant.
Conceptual mapping
Nothing in the panel is called a department or an employee. The table says which object plays which role; the chapters below set them up in that order.
| In your industry | On the platform | Where in the panel |
|---|---|---|
| Department training collection | Bouquet: a named set of channels, films or series that a package grants | Bouquets, from Streams and Movies / Series |
| Training materials | VOD catalogue: movies and series with seasons and episodes, categories and metadata | Movies and Series, or the VOD ingest job |
| Employee access | Line: one access with its package, bouquets, expiry, connection limit and outputs | Lines → add, or activation codes, or the Reseller API |
| Internal training session | Live channel: a stream with its sources, EPG and output formats | Streams → add a live stream (source URL or RTMP push) |
| HR or LMS integration | Reseller API and webhooks: the operations of the panel from your own system | Reseller API keys and webhooks in the reseller's dashboard |
| Devices per employee | Max connections of the line: how many devices may watch at once | The line's max connections |
Prerequisites
What to have before installing.
- A company server (Ubuntu 22.04 or 24.04) reachable from the offices, the installer, and an internal address or a domain behind your reverse proxy.
- The training recordings, the auditorium's encoder for live sessions, and the HR or LMS system's ability to call an HTTP API.
- A decision on confidentiality: which material goes in which department collection, and who in HR and in the training team gets a panel account.
Infrastructure deployment
Headquarters first, then the offices.
- Run the installer on the headquarters server; put the panel behind the company's reverse proxy and set the trusted proxies so the audit log sees real addresses.
- Set the playback base to the internal address; employees outside the network reach it through the VPN or the proxy.
- Enrol a node per office from Servers; the panel installs it over SSH and routes that office's viewers to it.
- Create a partner account for the training team with permissions for the catalogue and none for the employees' lines.
Content organisation
Collections by department, courses as series.
- Create categories per topic and one series per multi-part course, with one episode per session.
- Create one bouquet per department training collection, and an all-staff bouquet for material everyone sees.
- Create one package per role: the bouquets that role needs and no others, with a long duration (a year, for instance) as the access period; a renewal adds another period, and HR disables the line when the contract ends.
- Mark confidential collections clearly in their names; a line sees only the bouquets its package grants.
Partner (reseller) configuration
The training team and, for a group, each subsidiary.
- Create a group with catalogue permissions for the training team and a group with line permissions for HR.
- Add the training team and HR as resellers with those groups; neither needs credits in an internal deployment.
- A subsidiary with its own library gets its own reseller, its own bouquets and its own packages.
Employee access configuration
One line per employee, from HR.
- Create a Reseller API key for the HR system and keep it in the HR system's secrets.
- On hiring the HR system calls action=create_line with the role's package and a request id (the package's duration is the access period); on leaving it calls action=disable_line.
- Set max connections to the number of devices an employee may use (typically two: desk and phone).
- For a pilot, add lines from Lines → add and hand the credentials to a few employees.
Training materials
Recordings on demand.
- Upload each recording as an episode's source or ingest it with the VOD ingest job; keep the title and a short description.
- Attach the recording to the right department bouquet through its series.
- Check playback with a test line of each role to confirm who sees what.
Internal training sessions
A session as a live channel.
- Add a live stream for the auditorium's encoder (RTMP push); put it in the all-staff bouquet or a department's.
- Enable catch-up so late joiners can rewind, and upload the recording to the library afterwards.
- Nodes in the offices take the session once from the origin and serve their people locally.
Access expiration
Access ends with the contract.
- A line expires at the end of its package's period; while the contract runs HR renews it with action=renew_line, and when the contract ends HR disables it.
- Subscribe the HR system to the webhooks to reconcile expiring and expired lines with its own records.
- For temporary access (contractors, onboarding week) use a short expiry rather than a separate package.
Integration with HR or an LMS
Systems drive access; the player plays.
- HR creates, renews and disables lines through the Reseller API; the LMS can link to the web player from a course page.
- There is no single sign-on for viewers: an employee signs in to the player with the line's credentials your system issued.
- Use Admin API keys with the read-only flag for internal reporting tools.
Security considerations
Confidentiality from the network to the line.
- Keep the platform on the internal network or behind the reverse proxy with TLS; set TRUSTED_PROXIES accordingly.
- Two-factor sign-in for every panel account; permission groups so HR cannot change the catalogue and the training team cannot see lines.
- Signed and expiring playback links, a low connection limit per line, and address binding where devices are fixed.
- Encrypted database backups with an off-site copy; the audit log for every change of lines and catalogue.
Troubleshooting
The usual first checks.
- An employee sees another department's material: check the package of the line and the bouquets it grants.
- A new hire has no access: check that the HR call succeeded (the Reseller API call log) and the line's expiry.
- An office buffers during a live session: check the office node's heartbeat and that viewers are routed to it.
- The audit log shows the proxy's address: set TRUSTED_PROXIES to the proxy and restart the panel.