TrueNAS SCALE Media Server: Complete Docker, Portainer & Nginx Proxy Manager Setup Guide
A comprehensive systems administrator guide to configuring ZFS storage pools, deploying containerized application stacks, and managing reverse proxy routing on TrueNAS.
Overview
Deploying a dedicated self-hosted media and automation server on enterprise-grade storage requires a robust, fault-tolerant operating platform. TrueNAS SCALE provides an exceptional open-source foundation, combining the legendary data integrity of ZFS file systems with native container orchestration and virtualization capabilities.
By leveraging TrueNAS alongside Docker, Portainer, and Nginx Proxy Manager, administrators can construct a streamlined, secure environment for hosting media workflows, monitoring dashboards, and automated microservices without sacrificing data security or network performance.
---
Step-by-Step: Initializing Storage Pools & Datasets
Before deploying containerized workloads, proper ZFS storage pools and isolated datasets must be established to ensure optimal file organization and permission mapping.
Configure Storage Pools: Access the TrueNAS Web UI console. Navigate to the Storage dashboard and click Create Pool. Select your target drive configuration (such as a mirrored VDEV configuration for hardware redundancy) and finalize the pool allocation.
Establish Dedicated Datasets: Navigate to Datasets, select your primary storage pool, and create structured child datasets for your services (e.g., `tank/media`, `tank/app-data`, and `tank/configs`) to cleanly isolate container volumes from system files.
Configure SMB Shares and Permissions: Set up Windows (SMB) shares pointing to your media datasets. Assign appropriate Access Control Lists (ACLs) and auxiliary user groups to ensure seamless read/write access from client workstations on your local network.
---
Step-by-Step: Deploying the Container Ecosystem
TrueNAS SCALE handles containerized environments natively through its built-in application catalog and custom container deployment tools.
Initialize the Apps Pool: Navigate to the Apps section in the TrueNAS interface. Select your primary storage pool to initialize the system app dataset (`.ix-apps`), which handles container image caching and internal volumes.
Deploy Portainer for Advanced Management: While native app management is available, deploying Portainer via custom container configurations provides granular, real-time control over multi-container Docker compose stacks, resource limits, and network routing.
Configure Host Path Volume Mappings: When deploying media managers or automation containers, map your ZFS host paths directly to container mount points (e.g., mapping `/mnt/tank/media` to `/media` inside the container runtime) to ensure high-speed direct disk access.
---
Step-by-Step: Edge Routing with Nginx Proxy Manager
To safely expose internal container web UIs and manage external SSL/TLS certificates without exposing raw ports directly to the public internet:
Deploy Nginx Proxy Manager (NPM): Spin up an NPM container instance inside your Docker stack, mapping standard HTTP (80) and HTTPS (443) ports alongside the administrative management port (81).
Configure Proxy Hosts: Log into the NPM dashboard and map custom domain names or local subdomains (e.g., `truenas.local` or internal service routes) to your internal container IP addresses and ports.
Generate Let's Encrypt SSL Certificates: Utilize NPM's integrated Let's Encrypt integration to provision automated wildcard or domain-specific SSL certificates, enforcing encrypted HTTPS traffic across all self-hosted endpoints.
---
Verification & Routine Maintenance
Once your storage arrays, container stacks, and proxy routing rules are deployed, verify system stability through ongoing telemetry checks:
Monitor container resource consumption via Portainer and check ZFS pool health regularly via the TrueNAS dashboard storage status.
Ensure automated configuration backups and system state snapshots are scheduled inside TrueNAS to protect core container settings against unexpected hardware regressions.