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

Building manuals

Configuration

Usage

Development

Extensions

News server setup

Other helpful guides

/js/scripts.min.js