docker.recipes

NZBGet Usenet Downloader

beginner

Efficient usenet downloader written in C++.

Overview

NZBGet is a high-performance, lightweight Usenet downloader written in C++ that excels at processing NZB files with minimal system resource consumption. Originally developed as an alternative to SABnzbd, NZBGet focuses on speed and efficiency, making it ideal for both low-powered devices like Raspberry Pi systems and high-throughput media servers that need to handle large volumes of binary downloads from Usenet newsgroups. This Docker deployment combines NZBGet with the LinuxServer.io container image, providing automated configuration management and consistent runtime environment. The stack includes integrated post-processing capabilities, RSS feed monitoring, and extension script support, creating a complete Usenet downloading solution that can automatically sort, rename, and organize downloaded content based on customizable rules and third-party integrations. This configuration targets home media enthusiasts, system administrators managing automated content acquisition pipelines, and users running media server setups who need reliable, efficient Usenet downloading capabilities. The lightweight nature of NZBGet makes it particularly valuable for users with limited hardware resources or those running multiple media services on the same system, while its robust API enables integration with popular media management tools like Sonarr, Radarr, and Lidarr.

Key Features

  • Multi-threaded article downloading with configurable connection limits per news server
  • Built-in duplicate detection and automatic duplicate handling across multiple NZB sources
  • Comprehensive post-processing engine with support for unrar, par2 repair, and custom scripts
  • RSS feed monitoring with automatic NZB fetching and category-based processing rules
  • Web-based remote control interface with real-time download statistics and queue management
  • Extension script system supporting Python, Shell, and PowerShell for custom automation workflows
  • Advanced bandwidth throttling and scheduling for optimal network resource management
  • Integrated health monitoring with automatic par2 verification and repair capabilities

Common Use Cases

  • 1Automated media acquisition for Plex, Jellyfin, or Emby servers with Sonarr/Radarr integration
  • 2Low-resource Usenet downloading on ARM devices like Raspberry Pi or ODROID systems
  • 3Centralized binary downloading for development teams sharing large software packages via Usenet
  • 4Backup and archival content retrieval from Usenet newsgroups with automated organization
  • 5High-volume newsgroup monitoring for research or data collection projects
  • 6Multi-user household media downloading with category-based processing and storage allocation
  • 7Remote Usenet access for users with bandwidth-limited local connections but powerful remote servers

Prerequisites

  • Active Usenet provider account with SSL-enabled news server access and retention suitable for your content needs
  • Minimum 512MB RAM available for container operation, with 1GB+ recommended for high-throughput usage
  • Docker host with port 6789 available for web interface access and no conflicting services
  • Sufficient storage space in the downloads directory for both incomplete and completed files
  • Basic understanding of NZB file format and Usenet newsgroup structure for effective configuration
  • Network connectivity allowing SSL connections to Usenet servers on ports 443 or 563

For development & testing. Review security settings, change default credentials, and test thoroughly before production use. See Terms

docker-compose.yml

docker-compose.yml
1services:
2 nzbget:
3 image: lscr.io/linuxserver/nzbget:latest
4 container_name: nzbget
5 environment:
6 - PUID=1000
7 - PGID=1000
8 - TZ=UTC
9 - NZBGET_USER=${NZBGET_USER}
10 - NZBGET_PASS=${NZBGET_PASS}
11 volumes:
12 - nzbget-config:/config
13 - /path/to/downloads:/downloads
14 ports:
15 - "6789:6789"
16 networks:
17 - nzbget-network
18 restart: unless-stopped
19
20volumes:
21 nzbget-config:
22
23networks:
24 nzbget-network:
25 driver: bridge

.env Template

.env
1# NZBGet
2NZBGET_USER=nzbget
3NZBGET_PASS=secure_password
4
5# Change /path/to/downloads to your directory

Usage Notes

  1. 1Web UI at http://localhost:6789
  2. 2Low resource usage
  3. 3Post-processing scripts
  4. 4Extension scripts support
  5. 5Integrates with Sonarr/Radarr

Quick Start

terminal
1# 1. Create the compose file
2cat > docker-compose.yml << 'EOF'
3services:
4 nzbget:
5 image: lscr.io/linuxserver/nzbget:latest
6 container_name: nzbget
7 environment:
8 - PUID=1000
9 - PGID=1000
10 - TZ=UTC
11 - NZBGET_USER=${NZBGET_USER}
12 - NZBGET_PASS=${NZBGET_PASS}
13 volumes:
14 - nzbget-config:/config
15 - /path/to/downloads:/downloads
16 ports:
17 - "6789:6789"
18 networks:
19 - nzbget-network
20 restart: unless-stopped
21
22volumes:
23 nzbget-config:
24
25networks:
26 nzbget-network:
27 driver: bridge
28EOF
29
30# 2. Create the .env file
31cat > .env << 'EOF'
32# NZBGet
33NZBGET_USER=nzbget
34NZBGET_PASS=secure_password
35
36# Change /path/to/downloads to your directory
37EOF
38
39# 3. Start the services
40docker compose up -d
41
42# 4. View logs
43docker compose logs -f

One-Liner

Run this command to download and set up the recipe in one step:

terminal
1curl -fsSL https://docker.recipes/api/recipes/nzbget-downloader/run | bash

Troubleshooting

  • Web interface shows 'Connection refused': Verify container is running and port 6789 is not blocked by firewall or already in use by another service
  • Downloads fail with 'Authentication failed': Check Usenet provider credentials in server settings and verify account is active and not exceeded bandwidth limits
  • Par2 repair fails consistently: Ensure container has sufficient disk space in both downloads and temporary directories, and verify par2 binary is properly installed in container
  • Post-processing scripts not executing: Check script permissions are executable and script interpreter (Python/bash) is available within the container environment
  • High CPU usage during downloads: Reduce number of simultaneous connections per server or decrease article cache size in performance settings
  • RSS feeds not updating automatically: Verify RSS feed URLs are accessible from container network and check RSS update interval settings in feed configuration

Community Notes

Loading...
Loading notes...

Download Recipe Kit

Get all files in a ready-to-deploy package

Includes docker-compose.yml, .env template, README, and license

Ad Space