Install Tautulli on TrueNAS Scale

Plex monitoring and analytics — tracks who is streaming, what they watch, and sends notifications.

Cover for Install Tautulli on TrueNAS Scale

Tautulli is a monitoring and analytics dashboard for Plex — it tracks who is streaming, what they are watching, when they started, and how much bandwidth they are using, in real time.

What it is

Platform TrueNAS Scale (Docker custom app)
Port 8181 (web UI)
Image lscr.io/linuxserver/tautulli:latest
Config path /mnt/apps/tautulli/config → /config
Purpose Plex monitoring, notifications, and analytics
License GPL-3.0

Tautulli connects to your Plex server via its API and logs every stream — who is watching, what device they are using, the quality setting, bandwidth consumption, and playback progress. It is the Plex equivalent of a network monitoring tool: you do not need it to stream media, but once you have it, you wonder how you managed without.

It also handles notifications: email or webhook alerts when new content is added, when a user starts a stream, when a stream buffers, or when someone shares your server with an unauthorized user.

The hard part: connecting to Plex and setting up notifications

The install is trivial. The hard part is configuring Tautulli's connection to Plex and setting up useful notifications that do not spam you.

PACKET ANALYSIS
Tautulli → Plex connection flow
→ http
//<nas-ip>:32400
Connection requirements
Plex IP
http://<nas-ip>:32400 (use NAS IP, not localhost)
Plex token
Found in Plex → Settings → General → Authorized Devices

The mistake everyone makes: entering http://localhost:32400 as the Plex URL. On TrueNAS Scale with Docker networking, localhost inside the Tautulli container points to Tautulli itself. Use the NAS IP.

PACKET ANALYSIS
Correct connection
Tautulli → http
//192.168.1.x:32400 (NAS IP + Plex port)
Wrong connection
Tautulli → http
//localhost:32400 (Tautulli talks to itself)
Tautulli → http
//plex:32400 (container name only works if Tautulli is on host networking)

Notification rules

Event Action Recommended
New media added Email/webhook On (useful for Plex Pass users)
Stream started Email Off (noisy)
Stream buffers Email On (signals transcoding issues)
Stream paused > 10 min Email On (someone forgot to stop)
New user added Email On (security)
Server down Email/webhook On (critical)

How to install it

Docker Compose (TrueNAS Scale custom app)

services:
  tautulli:
    image: lscr.io/linuxserver/tautulli:latest
    container_name: tautulli
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    ports:
      - 8181:8181
    volumes:
      - /mnt/apps/tautulli/config:/config

After deploy:

# Open the web UI at http://<nas-ip>:8181
# Initial setup wizard guides you through Plex connection

Initial configuration

  1. Open Tautulli at http://<nas-ip>:8181
  2. Setup wizard runs on first launch:
  3. Plex Media Server IP: http://<nas-ip>:32400
  4. Plex Media Server Port: 32400
  5. Plex Token: paste from Plex settings or Preferences.xml
  6. Test Connection → should return "Successfully connected to Plex"
  7. Finish wizard → Tautulli starts logging streams immediately

Configuration that matters

Plex connection

Setting Value
Plex URL http://<nas-ip>:32400
Plex Token From Plex → Settings → General → Authorized Devices
Poll interval 5 seconds (default, fine for most setups)
Plex library refresh 60 seconds

Notification agents

Agent Setup
Email Settings → Notification Agents → Email → SMTP server details
Webhook Settings → Notification Agents → Webhook → URL + JSON template
Telegram Settings → Notification Agents → Telegram → Bot token + chat ID
Discord Settings → Notification Agents → Discord → Webhook URL

Logging

Setting Recommended value Why
Log retention 90 days Keeps enough history for analytics without bloating the database
Import play count On Syncs Plex watch history on first setup
Age rating slider Enable Shows content ratings on the dashboard

Dashboard

Widget Purpose
Activity Real-time stream list with quality, bandwidth, progress
Library stats Total media items, size, last scan
Top 10 Most watched movies/shows in last 7/30/90 days
Users Who is watching, when they last watched, total hours

What I'd tell anyone building this

  • Tautulli does not replace Plex's built-in analytics. Plex has basic "Now Playing" and "History" pages. Tautulli adds per-user analytics, notification rules, and historical trends that Plex does not provide.

  • The Plex token expires if you change your password. If Tautulli stops connecting after a password change, grab a new token from Plex → Settings → General → Authorized Devices.

  • Notifications are optional but useful. The most valuable notification is "stream buffers" — it tells you when transcoding is struggling, which means you need to adjust quality settings or enable hardware transcoding.

  • Tautulli does not control Plex. It is read-only — it monitors streams but cannot pause, stop, or transcode. For control, use the Plex web UI or mobile app.

  • The database grows over time. Tautulli's SQLite database stores every stream event. After a year, it can reach several hundred MB. Configure log retention in Settings → General → Database to keep it manageable.

Get it

Links:

Quick install (Docker Compose):

services:
  tautulli:
    image: lscr.io/linuxserver/tautulli:latest
    container_name: tautulli
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    ports:
      - 8181:8181
    volumes:
      - /mnt/apps/tautulli/config:/config

Log in at http://<nas-ip>:8181, run the setup wizard, and connect to your Plex server.

Comments (0)

Join the discussion — sign in to comment.

Sign in

No comments yet — be the first to share your thoughts.

Related reading