Skip to content

fix(sabnzbd): treat :: as unset in the vendored run script - #231

Merged
ivan-pinatti merged 3 commits into
mainfrom
fix/sabnzbd-patch-ipv6-fallback
Sep 27, 2026
Merged

ivan-pinatti merged 3 commits into
mainfrom
fix/sabnzbd-patch-ipv6-fallback

Conversation

@ivan-pinatti

@ivan-pinatti ivan-pinatti commented Sep 27, 2026 •

Copy link
Copy Markdown
Collaborator

What

patches/sabnzbd/svc-sabnzbd/run now treats :: as unset. SABnzbd persists --server into sabnzbd.ini, so almost every existing config holds host = ::, the image's own default. The patch respected that as a configured host, which bypassed the image's fallback to 0.0.0.0 on a machine without IPv6, where SABnzbd would then fail to bind. :: now takes the same path as an unset or loopback host. A deliberate host = 0.0.0.0, which this stack sets, is still respected.

The branch also carries a .devcontainer/egress-sets change and its revert, so the net diff is the patch alone. The workbench already adds ubuntu for any checkout with an L2 Dockerfile; the 403 that prompted the change came from starting the workbench against an outdated main clone.

Why

The same :: fix was pushed to the upstream proposal, linuxserver/docker-sabnzbd#275, and this patch is meant to stay identical to it so it can be deleted once upstream ships. Tracked in #108.

Testing

  • The code is identical to the upstream branch, ignoring comments.
  • Logic checked with a harness across IPv6 present and absent, root and non root, and host unset, empty, ::, 0.0.0.0, 127.0.0.1, ::1 and a LAN style address. The only change from the previous patch is :: without IPv6, which now resolves to 0.0.0.0, matching the unpatched image.
  • Run in lscr.io/linuxserver/sabnzbd:5.1.3-ls274 with the script bind mounted: fresh config, 0.0.0.0, :: and 127.0.0.1 all start, serve the web UI, and keep the expected host across a restart.
  • shellcheck clean.

.devcontainer/l2/Dockerfile installs shfmt with apt, but egress-sets did not
list ubuntu, so the proxy refused archive.ubuntu.com and security.ubuntu.com
with a 403 and the L2 image could not be built in a fresh engine. Every commit
from the workbench failed at the pre-commit hook as a result.
SABnzbd persists --server into sabnzbd.ini, so almost every existing config
holds host = ::, the image's own default. The patch respected it as a
configured host, which bypassed the fallback to 0.0.0.0 on a machine without
IPv6, where SABnzbd would then fail to bind. :: now takes the same path as an
unset or loopback host.

A deliberate host = 0.0.0.0, which this stack sets, is still respected.

Mirrors the same fix pushed to linuxserver/docker-sabnzbd#275, so the code
stays identical to the upstream proposal.
@coderabbitai

coderabbitai Bot commented Sep 27, 2026 •

Copy link
Copy Markdown

Review in Change Stack →

Navigate logical layers of code changes, visualize relationships, and explore their blast radius.

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: ivan-pinatti-labs/docker-torrent-box-with-vpn/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 40242b92-d805-4ed1-ae1f-3580143bda59

📥 Commits

Reviewing files that changed from the base of the PR and between cddc258 and ae2c532.

⛔ Files ignored due to path filters (2)
  • patches/README.md is excluded by !patches/**
  • patches/sabnzbd/svc-sabnzbd/run is excluded by !patches/**
📒 Files selected for processing (1)
  • .devcontainer/egress-sets

Included review availability: This review used your included allowance. Your plan provides up to 2 included reviews per hour; 1 remain after this review.


📝 Walkthrough

Walkthrough

The always-on egress sets now include Ubuntu. A comment identifies Ubuntu’s archive as the source used to install shfmt during the engine’s L2 image build.

Changes

Ubuntu Egress Access

Layer / File(s) Summary
Add Ubuntu egress access
.devcontainer/egress-sets
The declarations add Ubuntu to the always-on egress sets and document its use for installing shfmt from Ubuntu’s archive during the engine’s L2 image build.

Priority: ➖ Normal

Estimated code review effort: 1 (Trivial) | ~3 minutes

Change: Bug fix

Merge Risk: ⚪ Minimal · up to 3947b

No actionable issue is established for the Ubuntu egress addition; it is mergeable after normal checks.

Architecture Summary

Architecture risk: 🔵 Low · up to ae2c5

The changed surface does not map to a changed system, dependency edge, entrypoint, or external dependency.

Changed systems: None identified.

Architecture concerns
No architecture-level concerns identified.

Review details

Before / after behavior

  • observed — Modified behavior in .devcontainer/egress-sets: Adds the ubuntu egress set and documents its use for installing shfmt from Ubuntu’s archive during the engine’s L2 image build.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary SABnzbd run-script change. It identifies the affected component and the specific :: fallback behavior. The separate Ubuntu egress-set update is …
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0…
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches 💡 1
🛠️ Fix failing CI checks 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@ivan-pinatti
ivan-pinatti marked this pull request as ready for review September 27, 2026 00:50
@ivan-pinatti

Copy link
Copy Markdown
Collaborator Author

/run-tests

github-actions[bot]
github-actions Bot previously approved these changes Sep 27, 2026
The workbench already adds ubuntu and nodesource to the proxy for any checkout
with a .devcontainer/l2/Dockerfile, so listing it here changes nothing. The
403 that prompted it came from starting the workbench against a main clone old
enough to predate the L2 Dockerfile, while the commit ran in a current
worktree. Not a defect in this repository.

This reverts commit 2944fe8.
@ivan-pinatti

Copy link
Copy Markdown
Collaborator Author

/run-tests

@ivan-pinatti
ivan-pinatti added this pull request to the merge queue Sep 27, 2026
Merged via the queue into main with commit 423a0d0 Sep 27, 2026
22 of 24 checks passed
@ivan-pinatti
ivan-pinatti deleted the fix/sabnzbd-patch-ipv6-fallback branch September 27, 2026 01:57
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.

1 participant