TrueNAS Server Build

Custom-built TrueNAS server

September 2024, upgraded to TrueNAS November 2025

Project Overview

I built this TrueNAS server from parts in November 2025. The first motherboard was dead on arrival, so it went back for an RMA. It now runs media automation, photo storage, home automation backups, and my own apps: nearly 60 containers across 19 Docker Compose stacks, plus Cloudflared and Tailscale as TrueNAS apps.

Hardware Specifications

CPU Intel Core i5-12500
RAM 32GB DDR5-4800
Motherboard ASRock B760M Pro RS
Storage Pool 2x 8TB Seagate IronWolf
Total Capacity 7.27TB usable
Operating System TrueNAS SCALE 25.10.7

Build Challenge
First motherboard was DOA (wouldn't POST). RMA'd, replaced, then completed installation without further issues.

TrueNAS Apps


  • Cloudflared: Cloudflare Tunnel daemon for secure public access to select services
  • Tailscale: Zero-trust mesh VPN for remote access and subnet routing

Docker Services

Movies & TV Show Automation


  • autobrr: Watches release announcements and hands matching releases to Radarr/Sonarr within seconds
  • Bazarr: Subtitle automation for movies and TV shows
  • Jellyfin: Open-source media server on the same library, kept as an alternative to Plex
  • Kometa: Automated metadata and artwork updates for media libraries
  • Maintainerr: Rule-based library cleanup for content nobody is watching
  • Plex Media Server: CPU transcoding and direct streaming for remote viewers
  • Prowlarr: Unified indexer manager, auto-syncs to Sonarr/Radarr
  • qBittorrent: Download client
  • Radarr: Movie automation with Trakt list monitoring, hardlinks enabled for efficient storage
  • Seerr: User request management for media libraries
  • Sonarr: TV show automation with Trakt list monitoring, hardlinks enabled for efficient storage
  • Tautulli: Plex monitoring and analytics, tracks watch history and server performance
  • Tracearr: Stream monitoring and account-sharing detection for the media servers
  • Unpackerr: Automatic extraction of compressed downloads (RAR, ZIP, 7z)

Audiobook Automation


  • Audiobookshelf: Audiobook and podcast library management with progress tracking, consumed by Prologue on iOS
  • ReadMeABook: Audiobook Library Manager/Request Manager (Seerr for Audiobooks)

Security & Monitoring


  • Diun: Docker image update notifications
  • Dozzle: Real-time Docker log viewer
  • Frigate NVR: Six-camera NVR with the iGPU (Quick Sync) passed through
  • Healthchecks.io: Outside heartbeats for the server, the backups, and every container, alerting me by email and Signal
  • Mosquitto: MQTT broker for IoT device communication

Productivity & Content


  • Homepage: Start page with links to every service
  • Immich: Photo management
  • Joplin: Note-taking with PostgreSQL backend, mobile sync
  • Linkding: Bookmark manager
  • Miniflux: Self-hosted RSS reader, consumed by NetNewsWire on iOS
  • Nextcloud: File sync and storage with PostgreSQL backend, Redis cache

Projects & Utilities


  • Bytestash: Self-hosted code snippet manager
  • Fileserver: Lightweight static file server for the local network
  • Lunch Roulette: Node/Express lunch picker with a public demo
  • nbnstack: nginx container serving this website
  • Family Finance App: Tailscale-only family finance app: FastAPI, PostgreSQL, seven scheduled pollers, and a weekly home value scraper
  • notes-api: FastAPI micro-blog API for nbnstack.com notes (notes section currently hidden)
  • Office Bets: Node/Express tracker for billions.nbnstack.com
  • Slurp: Next.js and PostGIS drink-finder map behind slurp.fyi
  • World Cup Pool: Django and React pool app for worldcup.nbnstack.com

Data Protection & Backup Strategy

Databases 12 PostgreSQL dumps nightly, 31 days kept
Configuration App configs nightly, TrueNAS config weekly
Off-Site Backblaze B2, daily at 3:00 AM

Three layers
If a drive dies, the ZFS mirror keeps everything running. If I break something, I restore from the nightly database dumps and config archives (1:00 and 1:30 AM). If I lose the whole server, Backblaze B2 holds a copy of everything except media, which I can download again.

UPS Power Protection & Monitoring

Capacity 1500VA / 1000W
Outlets 12 Total (Battery + Surge)

Monitoring & Integration


  • Automated Alerts: Notifications for power events, low battery, and overload conditions
  • Home Assistant: Real-time UPS status visualization in custom dashboards
  • Metrics Tracked: Battery level, load percentage, input/output voltage, runtime estimates

Power Continuity
The UPS rides out short outages and brownouts. It puts out a pure sine wave, which the server's PSU needs.

Network Security

  • Authentication: All exposed services password-protected or using Plex SSO
  • Cloudflare Tunnel: Public apps go out through the tunnel, not open ports
  • Tailscale: Zero-trust mesh VPN for all administrative remote access
  • TrueNAS Firewall: Default restrictive configuration with minimal open ports

Related Projects