NZBGet Path and Folder Structure Guide
NZBGet uses a structured set of folders and paths to manage Usenet articles efficiently. Understanding how these directories work, especially in Docker, Linux, or Synology environments, can help you improve performance, avoid errors, and take full control of your setup.
This guide breaks down each path used by NZBGet, what it does, and how to configure it properly for your system.
MainDir (Main Directory)
What it is:
The root directory for all NZBGet operations. All other folders—queue, intermediate, destination, scripts, etc.—are created relative to this path.
Default Paths:
- Linux: {AppDir} (when NZBGet is installed via the installer)
- Docker: /data/nzbget (mapped volume)
Set it here:
NZBGet > Settings > Paths > MainDir
Tip: Always point MainDir to a fast, local storage location (SSD preferred). Avoid network or external drives here to prevent slowdowns.
InterDir (Intermediate Directory)
What it is:
InterDir is a 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.
Default path:
<MainDir>/intermediate
Set it here:
Settings > Paths > InterDir
Tip: If you use DirectWrite, this folder will still be used for post-processing step
Tip for fast internet and powerful setups:
Place your InterDir on a fast disk (preferably SSD), and keep it separate from both your 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.
DestDir (Destination Directory)
What it is:
Where completed and successfully unpacked downloads are moved after processing.
Default path:
<MainDir>/complete
Set it here:
Settings > Paths > DestDir
Tip: You can override this location per category under Settings > Categories.
NzbDir
What it is:
Watch folder for new NZB files. Any NZBs added here are automatically queued.
Default path:
<MainDir>/nzb
Set it here:
Settings > Paths > NzbDir
Tip: Great for automation. You can drop NZBs here from indexers or download clients.
QueueDir
What it is:
This directory is used to save the download queue, history, information about fetched RSS feeds, statistics, etc.(description from nzbget) If the queue is long or your connection is fast, this folder can grow quickly.
Default path:
<MainDir>/queue
Set it here:
Settings > Paths > QueueDir
Tip: Avoid slow or networked drives for this folder.
ScriptDir
What it is:
Folder for post-processing scripts like VideoSort, FailureLink, or FakeDetector.
Default Docker path:
Often mounted to /scripts via Docker volume
Set it here:
Settings > Paths > ScriptDir (note: most scripts require Python 3.8.x or higher to be installed on your system).
Tip: Scripts must be present and executable. On Docker, mount the volume and place your scripts inside.
Folder Layout Overview
Assuming MainDir = /data/nzbget, your folder structure might look like:
/data/nzbget/
├── complete/ → Final unpacked, complete downloads
├── intermediate/ → Temporary directory for active downloads, file repair (PAR2), and for holding assembled files before they are moved to the final destination.
├── nzb/ → NZBs dropped here are auto-added to queue
├── queue/ → Queue information
├── scripts/ → Post-processing tools and extensions
How NZBGet Handles Downloads (Folder Flow)
Here’s how your files move through NZBGet’s folders from start to finish:
1. NZB Import
- NZBs added to NzbDir are picked up and queued.
2. Download Starts → queue uploads to the QueueDir
- Queue info is downloaded into QueueDir.
3. Download, Assembly & Verification → InterDir
- Articles are downloaded to the InterDir, and then combined and verified (using PAR2 if needed).
4. Unpacking → InterDir
- RAR or 7z files are unpacked in the same directory after verification.
5. Completion → DestDir
- Once unpacking is complete, files are moved to DestDir — your finished download location.
6. Post-Processing (Optional) → ScriptDir
- If enabled, scripts from ScriptDir run after completion (e.g., renaming, sorting, uploading).
By default, your finished downloads will appear in:
<MainDir>/complete
You can change this globally or per category.
Folder Permissions (Linux / Docker)
- All folders must be writable by the NZBGet process or container user.
- Docker users: Set PUID and PGID to match the host user’s permissions.
- Synology users: Give the nzbget user access to any folders used in your setup.
Best Practices
- Store all folders on fast, local drives (avoid network shares for QueueDir or InterDir).
- Use category-specific DestDir paths for better organization.
- Clean up logs and backups periodically.
- Back up your nzbget.conf and scripts/ before upgrading or migrating.
Introduction
Installation manuals
- Installation on Windows
- Installation on Windows via WinGet
- Installation on macOS
- Installation on macOS via Homebrew
- Installation on Linux
- Installation on Docker
- Installation on Docker - LinuxServer.io version
- Installation on Android
- Installation on Synology
- Installation on QNAP
- Installation on other NAS devices
Building manuals
Configuration
- Backup And Restore Settings
- Performance Tips
- Choosing Cipher
- Behind Other Web Server
- TLS certificate verification
- What is the Default NZBGet Password?
- NZBGet Docker Setup Guide
- NZBGet Port Settings and Access Guide
- How to Configure NZBGet: Complete Setup Guide
- What Is Usenet?
- NZBGet 502 Error: Quick Fix Guide
- How to Upgrade from NZBGet v21.1 to the Latest NZBGet Version
- Slow NZBGet Speeds? Here’s How to Fix It
- NZBGet Performance Optimization Guide
- NZBGet Path and Folder Structure Guide
- How to Link NZBGet with Sonarr, Radarr, and Other Tools
Usage
- Quick Filter
- Keyboard Shortcuts
- RSS and duplicate check
- VideoSort
- Console Mode
- Command Line Reference
- Performing Speed Tests
Development
Extensions
- Extension Scripts
- Post-processing scripts
- Scan Scripts
- Queue Scripts
- Scheduler Scripts
- Feed Scripts
- API reference
News server setup
- Astraweb
- BlockNews
- Cheapnews
- EasyNews
- Eweka
- FreeDiscussions
- Frugal Usenet
- GigaNews
- NewsDemon
- Newsgroup Ninja
- NewsgroupDirect
- Newshosting
- Pure Usenet
- SunnyUsenet
- Supernews
- theCubeNet
- ThunderNews
- TweakNews
- Usenet.Farm
- UsenetExpress
- UsenetServer
- UseNext
- ViperNews
- XLned
- XS News