Home
XtreamUIPro

Setup guide

Sports Clubs & Academies setup guide

Configure the platform as the video service of a club or academy: match and training feeds, an analysis library by squad, and member and family access that follows the season.

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 squad or a member. The table says which object plays which role; the chapters below set them up in that order.

In your industryOn the platformWhere in the panel
Match or training feedLive channel: a stream with its sources, EPG and output formatsStreams → add a live stream (source URL or RTMP push)
Analysis and replay libraryVOD catalogue: movies and series with seasons and episodes, categories and metadataMovies and Series, or the VOD ingest job
Squad or competition packageBouquet: a named set of channels, films or series that a package grantsBouquets, from Streams and Movies / Series
Member or family accessLine: one access with its package, bouquets, expiry, connection limit and outputsLines → add, or activation codes, or the Reseller API
Season or membership periodExpiry date of the line, renewed by a package, a credit or the APIThe line's expiry date and the package's duration
Team or academy staff accountPartner account (reseller): a delegated dashboard with credits, permissions and its own linesUsers → add a reseller; Groups for its permissions
Shop or club-management integrationReseller API and webhooks: the operations of the panel from your own systemReseller API keys and webhooks in the reseller's dashboard

Prerequisites

What to have before installing.

  1. A server (Ubuntu 22.04 or 24.04) with a public address or a domain, and enough upstream bandwidth for the matches you plan to stream.
  2. The camera and encoder at the ground that can push RTMP, and the recorded training and analysis files your coaches already keep.
  3. A decision on who sees what: which squads share material, which matches are for members only, and who on the staff gets a panel account.

Infrastructure deployment

The academy first, a node when match days need it.

  1. Run the installer on the academy server and put the panel behind a reverse proxy with TLS; set the trusted proxies so logs and IP rules see the viewer's real address.
  2. Set the playback base URL to the public address viewers reach, so the links the panel issues work from home.
  3. If many families watch the same match, enrol a node from Servers; the panel installs it over SSH and fans the live channel out from it.
  4. Create a partner account (reseller) for the coaching staff with permissions for the catalogue and none for the members' lines.

Content organisation

Squads and seasons as categories, access as bouquets.

  1. Create categories per age group and per season, and series for competitions with one episode per match.
  2. Create one bouquet per squad's analysis material, one for the live match channels and one for the whole academy.
  3. Create one package per kind of membership: the bouquets it grants, with the season as its duration and a price in credits if the staff sell it.
  4. Name the bouquets after the squad or competition they belong to, so the staff know which package to give a family.

Partner (reseller) configuration

Staff who manage their own members, if the club wants that.

  1. Create a group with catalogue permissions for the coaches and a group with line permissions for the membership secretary.
  2. Add each of them as a reseller with the matching group; give the secretary credits only if memberships are sold through the panel.
  3. A satellite academy or a supporters' club with its own members gets its own partner account and its own packages.

Member and family access configuration

One line per member or per family.

  1. Create a Reseller API key for the shop or the club-management system and keep it in that system's secrets.
  2. On registration the system calls action=create_line with the membership's package and a request id; the season is the package's duration.
  3. Set max connections to the devices a family needs (typically three or four) so one membership is not shared beyond the household.
  4. For a trial match day, add a line from Lines → add with a trial package, or print activation codes for the supporters in the stand.

Analysis and replay library

Matches and sessions on demand.

  1. Upload each match or session as an episode's source, or ingest it with the VOD ingest job; keep the date, the opponent and the squad in the title.
  2. Attach the recording to the squad's bouquet through its series, so only that squad's lines see it.
  3. Check playback with a test line of each membership to confirm who sees what.

Match and training feeds

A pitch camera as a live channel.

  1. Add a live stream for each encoder at the ground (RTMP push) and put it in the match-day bouquet.
  2. Enable catch-up so a family that joins late can rewind, and add the recording to the library after the final whistle.
  3. On a busy match day, check that the node takes the channel once from the origin and serves the viewers routed to it.

Membership expiry

Access follows the season.

  1. A line expires at the end of its package's period; the shop renews it with action=renew_line when the next season's fee is paid.
  2. Subscribe the shop to the webhooks to send a reminder on line.expiring and to close the membership on line.expired.
  3. A player who leaves mid-season is disabled by the shop with action=disable_line; the line is kept for the records.

Integration with the shop or club software

Systems drive access; the player plays.

  1. Install the connector of your commerce platform (WooCommerce, Shopify and others) on the shop side so a purchase creates the line and a payment renews it.
  2. A club-management or ticketing system is connected through the Reseller API and webhooks; there is no native connector for it.
  3. There is no single sign-on for viewers: members sign in to the player with the credentials of their line, which the shop sends them.

Security considerations

Squad material stays with the squad.

  1. Serve the panel and the playback base URL over TLS and set TRUSTED_PROXIES to your reverse proxy.
  2. Two-factor sign-in for every panel account, and permission groups so the secretary cannot change the catalogue and the coaches cannot see the lines.
  3. Signed and expiring playback links, a connection limit per line, and an IP or country binding for staff lines.
  4. Encrypted database backups with an off-site copy, and the audit log for every change of lines and catalogue.

Troubleshooting

The usual first checks.

  1. A parent sees the first team's analysis: check the package of the line and the bouquets it grants.
  2. A new member has no access after paying: check the Reseller API call log of the shop's request and the line's expiry date.
  3. The match feed stutters at kick-off: check the encoder's upload at the ground, and the node's heartbeat if one serves the viewers.
  4. The audit log shows the proxy's address: set TRUSTED_PROXIES to the proxy and restart the panel.