NZBGet (nzbget.com) using maintained Debian release.
Requires r_pufky.arr galaxy-ng collection. See reference documentation for troubleshooting and config variables.
Install size: ~11MB
Use absolute paths for directories in nzbget.conf. Default MainDir is /var/opt/nzbget.
Tasks potentially touching Network Mounted Filesystems will be run as the task user and fallback to the service user. Manage these locations externally if these fail.
Detailed variable use documented in defaults. See usage for role operation.
Store all folders on fast, local drives (avoid network shares for QueueDir or InterDir).
- NZBs added to NzbDir or API are picked up and queued.
- Queue info is moved to QueueDir.
- Articles are downloaded to the InterDir, then combined and verified (using PAR2 if needed).
- RAR or 7z files are unpacked in the same directory (InterDir) after verification.
- Once unpacking is complete, files are moved to DestDir — finished download location.
- If enabled, scripts from ScriptDir run after completion (e.g. renaming, sorting, uploading).
Directory to store intermediate files.
Temporary working directory where all download processing, like repairs and unpacking, takes place. After a job succeeds, the final files are moved to the destination folder (DestDir), and the temporary files in InterDir are deleted. DirectWrite uses this folder for post-processing.
Place InterDir on a fast disk (preferably SSD), and keep it separate from both DestDir and the directory where Sonarr/Radarr transfers articles.
When you use a fast disk for InterDir, you eliminate disk writing speed bottlenecks. By placing InterDir and DestDir on separate physical hard drives, you also reduce disk wear.
Use local disk.
Tasks are gated by feature flags and executed in the following order.
| Step | Flag | Notes |
|---|---|---|
| 1 | nzbget_flg_apt_sources | Force required APT sources. |
| 2 | nzbget_flg_install | Install nzbget. |
| 3 | nzbget_flg_config | Deploy configuration files. |
| 4 | nzbget_flg_perms | Set permissions based on nzbget.conf. |
A minimal config will be deployed if no configuration is specified. This will deploy a working NZBGet install.
# Main directory: /var/opt/nzbget.
- name: 'NZBGet default install.'
ansible.builtin.include_role:
name: 'r_pufky.arr.nzbget'Configuration and extension scripts are deployed as templates, allowing for vault use of sensitive information. File permissions can be set based on the configured directories in nzbget.conf to ensure the service can manage the files.
- name: 'Set custom config, extension scripts, and ensure file permissions set.'
ansible.builtin.include_role:
name: 'r_pufky.arr.nzbget'
vars:
nzbget_flg_config: true
nzbget_flg_perms: true
nzbget_cfg_file: 'host_vars/nzb.example.com/config/nzbget.conf'
nzbget_cfg_scripts_d: 'host_vars/nzb.example.com/config/scripts'Configure environment.
# Run all tests.
molecule test --all| Release | Debian | Ansible | Notes |
|---|---|---|---|
| 5.x.x | 13 | 2.20 | Ansible 2.20, feature flags, and semantic versioning. |
| 4.x.x | 12 | 2.18 | Migrate to r_pufky.arr. |
| 3.x.x | 13 | 2.18 | Migrate to Debian Trixie. |
| 2.x.x | 12 | 2.18 | Data annotations. |
| 1.x.x | 12 | 2.11 | Migration from private repository. |
Create a bug and provide as much information as possible.
Associate pull requests with a submitted bug.