Need help? Join the Norri Discord.Beta information

Docker Compose

Join the Norri Discord → for setup help, release updates, and a place to share your feedback.

One container includes the server, web app, database, and transcoding tools. You need Docker with Compose on your computer or NAS. On Windows, Docker Desktop with Linux containers is the simplest route. You can also run Docker Engine inside WSL; use Linux paths and run the commands in your WSL terminal. The image is AMD64 (Intel/AMD 64-bit). Using a Mac? Follow the complete macOS guide instead.

Prefer a direct command? Use Docker run instead.

Create file

Create a folder named norri. In that folder, create a plain-text file named compose.yaml and paste the complete configuration below. You can also download this file and save it as compose.yaml.

name: norri
services:
  norri:
    image: registry.norri.tv/norri/norri:latest
    container_name: norri
    restart: unless-stopped
    logging:
      driver: local
      options:
        max-size: "10m"
        max-file: "3"
    ports:
      - "11423:11423"
    environment:
      PUID: "1000" # CHANGE to your media user's ID
      PGID: "1000" # CHANGE to your media user's group ID
    volumes:
      - norri_postgres:/var/lib/postgresql/data
      - norri_data:/var/lib/norri
      # CHANGE the paths on the LEFT to your existing folders.
      # DELETE unused media lines; keep :ro (read-only).
      - "/path/to/movies:/media/Movies:ro"
      - "/path/to/tv:/media/TVShows:ro"
      - "/path/to/music:/media/Music:ro"

    # INTEL (including ARC) / AMD GPU — Linux or NAS only.
    # REMOVE this whole block if you are not using one.
    devices:
      - /dev/dri:/dev/dri
    # END Intel / AMD block

    # NVIDIA GPU — needs host GPU support; see instructions.
    # REMOVE this whole block if you are not using one.
    gpus: all
    # END NVIDIA block

    tmpfs:
      - /run:rw,exec,size=16m,mode=0755
    security_opt:
      - no-new-privileges:true
    stop_grace_period: 45s
volumes:
  norri_postgres:
    name: norri_postgres
  norri_data:
    name: norri_data

Customize

  • Media folders: replace /path/to/movies, /path/to/tv, and /path/to/music with your existing folders. Change only the part before :/media/; keep /media/...:ro. Delete any media line you do not need. Windows paths look like "D:/Media/Movies:/media/Movies:ro".
  • File access: on Linux, run id -u and id -g as the user who can read your media, and put those numbers in PUID and PGID. For Windows folder shares, keep 1000 for both; for media in the WSL/Linux filesystem, use that Linux user’s IDs. Use a non-root media account; IDs 0 and 999 are reserved. Unraid commonly uses 99 and 100.
  • Intel, Intel Arc, or AMD: keep the labeled Intel / AMD block and remove the NVIDIA block. The host needs the appropriate graphics driver and /dev/dri devices.
  • NVIDIA: keep the labeled NVIDIA block and remove the Intel / AMD block. On Linux, install the NVIDIA Container Toolkit with the NVIDIA driver first. gpus: all requires Docker Compose 2.30 or newer. With Docker Desktop on Windows, follow Docker Desktop GPU support. With Docker Engine in WSL, follow the WSL GPU setup and NVIDIA Container Toolkit instructions.
  • No GPU: remove both labeled GPU blocks. On Windows, always remove the Intel / AMD block. If you intend to expose both kinds of GPU on Linux, keep both blocks.

Save the file. Keep the two Norri data volumes and all other settings as shown. Your media is mounted read-only.

Start server

Open a terminal in the norri folder—PowerShell on Windows, or your Linux terminal—and run:

docker compose up -d

Docker downloads Norri and starts it. The first start may take a few minutes.

Open setup

Open http://localhost:11423 on that computer, or http://YOUR_SERVER_IP:11423 from another device on your network.

Follow the setup wizard to create your account and add your libraries. Select /media/Movies, /media/TVShows, or /media/Music for the folders you kept. Then open the web app and choose something to play.

Need a hand? Ask in Discord.

For additional media folders, container managers, updates, or backups, see the Docker reference.