Skip to main content

SABnzbd Deployment Notes

SABnzbd runs as a StatefulSet and keeps its own sabnzbd.ini. Environment variables override any option at boot using the SABNZBD__SECTION__OPTION pattern.

Image

The image builds SABnzbd from the official release tarball in a Python 3.12 virtual environment. It runs on a distroless base as UID 2501. Dependencies from requirements.txt, including CherryPy, are installed during the build. A default sabnzbd.ini is generated during the build and copied to /config only when that directory is empty.

Configuration

sabnzbd-env-config sets non‑secret defaults. sabnzbd-secrets pulls API keys and usenet credentials from Bitwarden. Update either and redeploy; no manual edits are needed.

Storage

/config uses a 5 Gi PVC. /downloads is an emptyDir that provides a writable parent. /downloads/incomplete is an emptyDir for temporary files. Completed files write to the media-share NFS PVC under /downloads/complete.

Network

SABNZBD__MISC__HOST_WHITELIST holds allowed hostnames. Add entries to the ConfigMap to expose new names.

Upgrades

Bump the SAB_VERSION ARG or push a sabnzbd-x.y.z tag. The image build workflow publishes new tags, and Flux or ArgoCD rolls them out. Existing PVCs keep their configs, and env vars still take precedence.

Debug

The image has no shell or package manager. Use kubectl debug if you need an interactive session.