Skip to Content
Sportarr

Sportarr

Sports event management and download automation

Overview

Sportarr is a PVR for sports, forked from Sonarr. It tracks events across sports leagues, searches your indexers for new releases, renames and organizes the downloaded files, and integrates with Plex, Jellyfin, and Emby. Sportarr is open source under the GPL-3.0 license.

QuickBox Pro installs Sportarr per user as a self-contained build, so there is no host runtime to manage. The application lives under /opt/username/Sportarr/, your data lives under /home/username/.config/Sportarr/, and a per-user systemd service serves the UI at https://your-server/username/sportarr/ through the nginx reverse proxy. The service listens on 127.0.0.1 only, so nginx is the sole public entry point.


Key features

Sports Event Tracking

Track events across sports leagues

Indexer Search

Search your indexers for new releases

Rename & Organize

Rename and organize downloaded files automatically

Media Server Integration

Integrates with Plex, Jellyfin, and Emby

Self-Contained Runtime

Ships as a self-contained build with no host runtime to install or maintain

Per-User Service

Isolated systemd unit sportarr@username with a random free port, loopback-only, behind nginx

When to use it

Good fit

  • You follow sports leagues and want events found, grabbed, and filed automatically instead of by hand
  • You already run Sonarr and want the same workflow for sports events
  • You want downloaded events renamed and organized into a library your Plex, Jellyfin, or Emby server can read
  • You use Usenet or BitTorrent and want one place that searches your indexers for releases

What you get

  • Install via qb install sportarr -u username with no host runtime to provision
  • Served at https://your-server/username/sportarr/ behind the QuickBox reverse proxy
  • Single per-user systemd service sportarr@username that you can restart on its own
  • Reinstall keeps your database and API key, so a repair does not cost you your library records

Installation

Install from the Dashboard

Open App Dashboard → Package Management (/dashboard?mode=packages), find Sportarr under Media Management (browse the category or search), and click Install. The dashboard streams the install log live. Reinstall and Remove are in the same Package Management panel. To update, use the amber Update badge on the Sportarr row in the App Dashboard.

The install downloads the newest stable upstream release, unpacks it into your per-user install tree, writes Sportarr’s config.xml for your personal URL path and port, and starts the service. It then waits for Sportarr to answer before it reports success, for up to two minutes.

What you see and can manage is gated by your account: admins manage any user’s apps; regular users manage their own. See App Management for the full flow.

Stable releases only
Note

QuickBox installs and updates Sportarr from upstream’s stable releases. Upstream also publishes a rolling development build; QuickBox does not install it, and you do not choose a channel.

Automatic port assignment
Tip

QuickBox picks a random free port within 50 of 1867 (1817 to 1917) at install time and binds it to 127.0.0.1 only. The assigned port is recorded in the QuickBox database and written into Sportarr’s config.xml and the nginx config for you. You never need to touch it.

Install and manage from the CLI

The CLI runs the same lifecycle and suits automation and scripting:

bash
qb install sportarr -u username
qb reinstall sportarr -u username
qb update sportarr -u username
qb remove sportarr -u username
CommandDescription
qb install sportarr -u username
Install Sportarr for the user at the per-user subpath
qb reinstall sportarr -u username
Reinstall Sportarr and keep your database and API key
qb update sportarr -u username
Update to the newest stable release, keeping your data
qb remove sportarr -u username
Remove Sportarr and delete its data

Full flag reference: CLI Reference.


Access and authentication

URL

Sportarr is published under the per-user subpath of your QuickBox server:

https://your-server/username/sportarr/

How access is protected

The Sportarr web UI asks for your account’s web login, an HTTP basic authentication username and password prompt from nginx, the same prompt you get for Radarr. Sportarr’s own in-app login is off by default, so there is no second prompt, and the service itself is reachable only through nginx. If you want a second login inside Sportarr, turn on Forms authentication in Sportarr’s settings; the Sportarr wiki  covers it.

The /api path is outside that web login so that companion apps and scripts can call it. It needs the API key instead: a request with the key succeeds and a request without it gets a 401.

API key

QuickBox generates the API key when it writes config.xml and stores it in that file as the ApiKey value:

bash
grep -oPm1 '(?<=<ApiKey>)[^<]*' /home/username/.config/Sportarr/config.xml

A reinstall or an update keeps the existing key, so integrations you have already configured keep working.

Install location
/opt/username/Sportarr/
Data directory
/home/username/.config/Sportarr/
Database
/home/username/.config/Sportarr/sportarr.db
Service
sportarr@username
Port
1867 (random free port near 1867)

Configuration and files

Sportarr keeps the application and your data in two separate trees. Everything that matters to you lives under /home/username/.config/Sportarr/, and the install tree under /opt/username/Sportarr/ is replaced on every update.

Path
Description
/
opt//
username//
Sportarr//
Install tree — the unpacked release, replaced on every update
home//
username/.config/Sportarr//
Per-user data directory
config.xml
Port, bind address, URL path, API key, log level
sportarr.db
The Sportarr database
logs//
Application log files
etc//
nginx/software//
username.sportarr.conf
Subpath reverse proxy with your web login in front of the UI; the /api path is outside that login
systemd/system//
sportarr@.service
Shared unit template; each account runs its own sportarr@username instance

QuickBox seeds config.xml with these values, and keeps the port and URL path in sync with nginx and the QuickBox database:

SettingValueWhy
BindAddress127.0.0.1Only nginx can reach the service
UrlBase/username/sportarrServes the UI at your per-user path
AuthenticationMethodNoneSportarr’s own login is off; nginx asks for your web login instead
UpdateMechanismExternalUpdates come from qb update, not from inside the app
UpdateAutomaticallyfalseNothing updates until you ask
AnalyticsEnabled, SendAnonymousUsageDatafalseUsage reporting is switched off

QuickBox also keeps snapshots of config.xml and the nginx config under /home/username/.QuickBox/software/sportarr/.


Service management

Sportarr runs as a per-user systemd instance:

bash
# Check status
sudo systemctl status sportarr@username
 
# Restart / stop / start
sudo systemctl restart sportarr@username
sudo systemctl stop sportarr@username
sudo systemctl start sportarr@username
 
# Follow the service log
sudo journalctl -u sportarr@username -f

The service starts automatically at boot and restarts itself if it fails.


Common tasks

Set up Sportarr

Indexers, download clients, root folders, and media server connections are all configured inside Sportarr’s own settings. The Sportarr wiki covers each step, so follow it rather than a QuickBox-specific recipe: wiki.sportarr.net .

Update Sportarr

bash
qb update sportarr -u username

The update stops the service, replaces the install tree with the newest stable release, and redeploys the nginx config from the current QuickBox template. It re-syncs Port, UrlBase and BindAddress in config.xml, then starts the service again. Your database and API key are kept.

Check the logs

bash
# Service output
sudo journalctl -u sportarr@username -f
 
# Application log files
ls /home/username/.config/Sportarr/logs/

Back up your data

Everything worth keeping lives in one tree. Stop the service first for a clean snapshot:

bash
sudo systemctl stop sportarr@username
tar -czf ~/sportarr-backup.tar.gz -C /home/username/.config Sportarr
sudo systemctl start sportarr@username

Remove Sportarr

bash
qb remove sportarr -u username
Remove deletes your data, reinstall keeps it
Caution

qb remove sportarr deletes the data directory /home/username/.config/Sportarr/, including the database, settings, API key, and logs, along with the install tree, the nginx config, and the QuickBox records for the app. Back up the data directory first if you may want your library records back. qb reinstall sportarr keeps the data directory, so the database and API key survive. Your media files in your media folders are not touched by either command.


Troubleshooting

Install stops before downloading anything
Warning

If QuickBox cannot resolve a Sportarr release with a Linux x64 package through its release proxy, the command stops before it downloads or unpacks anything and tells you to check /opt/quickbox/logs/qb.log and your network access. Fix the connection, then run the same qb install sportarr -u username command again. A reinstall has already removed the old install tree, so rerun qb reinstall sportarr -u username.

Install or update reports the service did not start
Warning

After starting the service, QuickBox waits up to two minutes for Sportarr to answer, and stops with an error if the service is no longer active or never answers. Check the journal: sudo journalctl -u sportarr@username -n 100. Then rerun qb update sportarr -u username to redeploy a clean install tree.

Download or unpack failure
Info

If the downloaded archive is missing, corrupt, or has no Sportarr executable inside, the command aborts. Check /opt/quickbox/logs/qb.log and network access, then rerun the same command.


Best practices

Do

  • Back up /home/username/.config/Sportarr/ regularly, since the database, settings, and API key all live there
  • Use qb update sportarr -u username for updates, so the install tree, nginx config and port settings stay consistent
  • Keep integrations pointed at the per-user URL and its API key; the key survives reinstall and update
  • Check the journal first when something misbehaves: sudo journalctl -u sportarr@username

Don't

  • Don't run qb remove without a backup, because it deletes the database and settings
  • Don't edit the port or URL path in config.xml by hand; QuickBox keeps them in step with nginx and its database
  • Don't turn on Sportarr's in-app updater; updates are handled by qb update
  • Don't expose Sportarr's port directly; it is bound to localhost on purpose

FAQ

Resources

Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

  • Dedicated Support
  • Feature Previews
  • Community Configs
  • Active Discussions
Join Discord Server
Last updated on