NZBGet Usenet Downloader
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:latest4 container_name: nzbget5 environment: 6 - PUID=10007 - PGID=10008 - TZ=UTC9 - NZBGET_USER=${NZBGET_USER}10 - NZBGET_PASS=${NZBGET_PASS}11 volumes: 12 - nzbget-config:/config13 - /path/to/downloads:/downloads14 ports: 15 - "6789:6789"16 networks: 17 - nzbget-network18 restart: unless-stopped1920volumes: 21 nzbget-config: 2223networks: 24 nzbget-network: 25 driver: bridge.env Template
.env
1# NZBGet2NZBGET_USER=nzbget3NZBGET_PASS=secure_password45# Change /path/to/downloads to your directoryUsage Notes
- 1Web UI at http://localhost:6789
- 2Low resource usage
- 3Post-processing scripts
- 4Extension scripts support
- 5Integrates with Sonarr/Radarr
Quick Start
terminal
1# 1. Create the compose file2cat > docker-compose.yml << 'EOF'3services:4 nzbget:5 image: lscr.io/linuxserver/nzbget:latest6 container_name: nzbget7 environment:8 - PUID=10009 - PGID=100010 - TZ=UTC11 - NZBGET_USER=${NZBGET_USER}12 - NZBGET_PASS=${NZBGET_PASS}13 volumes:14 - nzbget-config:/config15 - /path/to/downloads:/downloads16 ports:17 - "6789:6789"18 networks:19 - nzbget-network20 restart: unless-stopped2122volumes:23 nzbget-config:2425networks:26 nzbget-network:27 driver: bridge28EOF2930# 2. Create the .env file31cat > .env << 'EOF'32# NZBGet33NZBGET_USER=nzbget34NZBGET_PASS=secure_password3536# Change /path/to/downloads to your directory37EOF3839# 3. Start the services40docker compose up -d4142# 4. View logs43docker compose logs -fOne-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 | bashTroubleshooting
- 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
Shortcuts: C CopyF FavoriteD Download