NZBGet Docker Setup Guide

Running NZBGet in a Docker container is one of the most efficient ways to manage Usenet automation. This guide walks through installing NZBGet using Docker, configuring it for use, and securing access to your NZBGet interface.

Why Run NZBGet in Docker?

Docker provides a clean, portable environment with easy updates, simplified management, and isolation from your main system. With proper volume mapping and environment variables, you can run NZBGet efficiently across systems like Linux, Windows, Synology, Unraid, or Raspberry Pi.


Step 1: Pull the NZBGet Docker Image

The official NZBGet image is available at nzbgetcom/nzbget:latest.
Another popular image is maintained by LinuxServer.io. To pull it:

docker pull lscr.io/linuxserver/nzbget

Step 2: Create Docker Volumes

To make your configuration and access persistent, create local directories (or bind mounts) for:

  • Config files
  • Usenet article access
  • Scripts (optional)

Example:

  mkdir -p ~/docker/nzbget/config
  mkdir -p ~/docker/nzbget/intermediate
  mkdir -p ~/docker/nzbget/completed

Step 3: Run NZBGet Using Docker CLI

Here’s a basic Docker run command:

  docker run -d \
  --name=nzbget \
  -e PUID=1000 \
  -e PGID=1000 \
  -e TZ=America/New_York \
  -p 6789:6789 \
  -v ~/docker/nzbget/config:/config \
  -v ~/docker/nzbget/intermediate:/intermediate \
  -v ~/docker/nzbget/completed:/completed \
  --restart unless-stopped \
  lscr.io/linuxserver/nzbget

Explanation:

  • PUID and PGID: Match your system user ID and group ID
  • TZ: Set your timezone
  • -v: Maps your local folders to the container
  • -p 6789:6789: Exposes the Web interface on port 6789

Step 4: Access the NZBGet Web Interface

Once running, go to: http://localhost:6789

Default credentials:

  • Username: nzbget
  • Password: tegbzn6789

See: NZBGet Default Password Guide

Step 5: Change Default Password and Configure Settings

Once logged in:

  1. Click Settings
  2. Go to the Security section
  3. Update the ControlUsername and ControlPassword
  4. Save all changes
  5. Restart NZBGet from the Web UI

Optional: Use Docker Compose

Here’s a sample docker-compose.yml for NZBGet:

version: "2.1"
services:
  nzbget:
    image: lscr.io/linuxserver/nzbget
    container_name: nzbget
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/New_York
    volumes:
      - ./config:/config
      - ./intermediate:/intermediate
      - ./completed:/completed
    ports:
      - 6789:6789
    restart: unless-stopped

To deploy: docker-compose up -d


Best Practices

  • Use persistent volumes to avoid losing settings and queued articles
  • Update regularly using docker pull and docker restart
  • Limit external access or proxy NZBGet behind a secure interface
  • Avoid root execution – match PUID/PGID to your user
  • Secure access by changing default credentials and considering reverse proxy with authentication

Troubleshooting

  • Web UI not loading? Check that port 6789 isn’t blocked by a firewall
  • Changes not saving? Confirm volume permissions and that /config is mapped correctly
  • Container restarting repeatedly? Use docker logs nzbget to view errors

Introduction

Installation manuals

Building manuals

Configuration

Usage

Development

Extensions

News server setup

Other helpful guides

/js/scripts.min.js