TrueNAS Server Build

Custom-built homelab server running TrueNAS SCALE with comprehensive media automation, Bitcoin full node, photo management, and home automation integrations.

Project Overview

This is the complete hardware build and infrastructure setup for my TrueNAS server. Built from the ground up with carefully selected components. Overcame initial hardware challenges (defective motherboard RMA) to create a solid foundation for media automation, Bitcoin operations, photo storage, and home automation backup infrastructure.

Hardware Specifications

CPU Intel Core i5-12500 (6 cores, 12 threads, 3.0-4.6GHz)
RAM 32GB DDR5
Motherboard ASRock B760M Pro RS (replacement after defective unit RMA)
Storage Pool 2x 8TB Seagate IronWolf (ZFS Mirror RAID1)
Usable Capacity 7.18TB (14.5TB raw, mirrored)
Operating System TrueNAS SCALE 25.10.0

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

Remote Access

Tailscale (Primary)

Zero-trust VPN with subnet routing enabled for entire network access. Allows remote BitAxe access via secure mesh networking.

Cloudflare Tunnel

Backup access method with host network mode. Routes configured for Overseerr, Radarr, Sonarr, Transmission, Plex, and Immich.

Plex Direct Access

Port forwarded on router for direct connections, eliminating relay lag during streaming.

Media Automation Stack

Complete automation pipeline installed as TrueNAS apps with proper storage mounts.

Media automation services and configurations
Service Purpose Configuration
Overseerr Request Management Integrated with Plex, Sonarr, Radarr. Auto-approval enabled, family-friendly interface
Plex Media Server Media Streaming Libraries: TV & Movies from complete folders, remote access enabled, transcoding enabled
Prowlarr Indexer Manager Auto-syncs to Sonarr and Radarr. Multiple indexers configured
Radarr Movie Automation Root: /downloads/complete/movies, hardlinks to library, Trakt integration, Transmission category: radarr
Sonarr TV Automation Root: /downloads/complete/tv, hardlinks to library, Trakt integration, Transmission category: sonarr
Tautulli Plex Monitoring Integrated with Plex to monitor, view analytics, and receive notifications about server
Trakt List Imports Radarr and Sonarr automatically import watch list and monitor for releases to grab
Transmission Download Client Authentication required, preserved seeding sessions from Synology migration

Bitcoin Full Node & Mining

Node Software Bitcoin Core (TrueNAS native app)
Storage 662GB (blockchain data)
Sync Status 100% (~48 hours initial sync)

BitAxe Gamma: 1,366 GH/s solo miner connected to CK Solo Pool. Accessible remotely via Tailscale subnet routing. Attempted local node mining via stratum proxy but ultimately using CK Pool directly while maintaining full node for validation.


Stratum Experiments: Tested public-pool, ckpool, and various Docker stratum proxies for local mining. Challenge was finding compatible proxy for Bitcoin Core RPC interface.

Utility Applications

Utility applications and configurations
Application Purpose Notes
File Browser Web-based file management HTTPS enabled, not exposed via Cloudflare
MySpeed Automated internet speed testing Custom container, runs hourly, Prometheus scraped for Home Assistant
Portainer Container management Used for custom containers like Actual Budget and Honeygain
Honeygain Passive income Version 1.2.14
Uptime Kuma Self-hosted monitoring tool Monitoring all containers and apps uptime status

Synology to TrueNAS Migration

Source Synology DS124
Total Data ~2.2TB
Method rsync with auto-retry loop

Migration Data Breakdown


    TV Shows: 2TB, Movies: 75GB

Auto-Retry Solution: Used while loop with rsync to automatically resume transfers after connection suspensions. Preserved Transmission seeding sessions throughout migration.

Network Security

  • Authentication:All exposed services password-protected or using Plex SSO
  • Cloudflare Tunnel:Encrypted tunnel without port forwarding (except Plex)
  • Tailscale:Zero-trust mesh VPN for all remote access
  • TrueNAS Firewall:Default restrictive configuration

Data Protection & Backup Strategy

ZFS Snapshots

Automated ZFS snapshot strategy provides multiple recovery points with varying retention periods:

ZFS snapshot schedule and retention
Frequency Schedule Retention Purpose
Hourly Every hour 24 hours Short-term recovery from accidental changes
Daily (Short) 1:00 AM 1 week Recent daily restore points
Daily (Long) 2:00 AM 4 weeks Monthly recovery window

Cloud Backup


Provider Backblaze B2
Schedule Daily at 3:00 AM
Scope All server data (excluding torrents)

Off-Site Redundancy: Backblaze B2 provides geographic redundancy for critical data. Torrent downloads excluded as they can be re-acquired if needed, optimizing backup costs.

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
  • Prometheus: UPS metrics collection for performance monitoring and alerting

Power Continuity: Provides clean, regulated power to server during outages and voltage fluctuations. Pure sine wave output ensures compatibility with server PSU and prevents hardware stress.