Skip to content

Add Sportarr support - #84

Merged
Luctia merged 2 commits into
Luctia:mainfrom
Sportarr:add-sportarr
Aug 11, 2026
Merged

Add Sportarr support#84
Luctia merged 2 commits into
Luctia:mainfrom
Sportarr:add-sportarr

Conversation

@Sportarr

@Sportarr Sportarr commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Sportarr (https://github.com/Sportarr/Sportarr) is a sports event
manager in the arr family. This adds it following the existing
per-service pattern: compose entry (official sportarr/sportarr image,
default port 1867), service user UID 13015 in the mediacenter group
with a data/{media,usenet,torrents}/sports folder, the CLI prompt,
.env.sample/setup.sh/remove_old_users.sh entries and a README mention.

I maintain Sportarr; happy to adjust anything.

Sportarr (https://github.com/Sportarr/Sportarr) is a sports event
manager in the Starr family. Follows the existing per-service pattern:
compose entry (sportarr/sportarr image, port 1867), dedicated service
user with UID 13015 in the mediacenter group, a sports media folder,
CLI prompt, env sample, setup/removal scripts and README mention.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Sportarr as a new “arr-family” service across Ezarr’s supported deployment paths (CLI-generated compose, manual setup scripts, and documentation), following the existing per-service pattern.

Changes:

  • Adds Sportarr service selection to the CLI and a new generated compose service stanza.
  • Adds Sportarr UID to .env.sample and user/group wiring in setup scripts.
  • Documents Sportarr in the README and extends the stated UID range.

Reviewed changes

Copilot reviewed 8 out of 8 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
users_groups_setup.py Adds per-service user/group + directory setup routine for Sportarr in the CLI flow.
setup.sh Adds Sportarr user creation and group membership for manual install flow.
remove_old_users.sh Includes Sportarr in cleanup of legacy users.
README.md Mentions Sportarr and updates the UID range note.
main.py Adds Sportarr to the CLI service selection prompts.
docker-compose.yml.sample Adds a Sportarr service entry to the sample compose file.
container_configs.py Adds generated compose config block for Sportarr.
.env.sample Adds SPORTARR_UID default value for manual install.
Suppressed comments (1)

setup.sh:45

  • setup.sh doesn’t set ownership on the sportarr-config directory (it does for the other service config dirs). Without this, Sportarr may not be able to write its config when using the manual install flow.
sudo usermod -a -G mediacenter audiobookshelf
sudo usermod -a -G mediacenter sportarr

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread docker-compose.yml.sample Outdated
Comment thread docker-compose.yml.sample Outdated
Comment thread setup.sh

@Luctia Luctia left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for submitting this PR! This seems like a cool project. I think the PR looks mostly OK but do agree with Copilot that, for the shell script and sample Docker compose file some variables should be used.

Comment thread docker-compose.yml.sample
Comment thread setup.sh Outdated

@Luctia Luctia left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That should've been a request changes ;)

…ata dirs

Addresses review feedback from Copilot and Luctia on PR #84. The sample
docker-compose sportarr service hardcoded PUID/PGID/TZ and absolute
/opt/ezarr paths instead of using the same ${SPORTARR_UID}/
${MEDIACENTER_GID}/${TIMEZONE}/${ROOT_DIR} variables every other service
in the file uses, breaking custom ROOT_DIR/timezone/UID setups.
setup.sh created the sportarr user but never created its config or
sports data directories, even though the PR description said it did.

Changes:
- docker-compose.yml.sample: sportarr block now matches the exact
  variable pattern radarr/sonarr/etc. use
- setup.sh: added sportarr to the config-dir mkdir list, sports to the
  data-dir mkdir list (matching the CLI-generated path's existing
  behavior), and a chown line for sportarr-config
@Sportarr

Copy link
Copy Markdown
Contributor Author

That should've been a request changes ;)

Thanks for the review! Both points should be addressed in 70f0cf8, the compose sample now uses the env vars, and setup.sh creates the sportarr user, its config dir, and the sports folders under data/{torrents,usenet,media} that the description mentions. Ready for another look when you get a chance.

@Luctia
Luctia self-requested a review August 11, 2026 08:23

@Luctia Luctia left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, thanks!

@Luctia
Luctia merged commit cc6a12a into Luctia:main Aug 11, 2026
1 check passed
@Sportarr

Copy link
Copy Markdown
Contributor Author

Looks good, thanks!

Thank you for your support and patience!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants