dotlinux blog

How to Install TrueNAS (Network-Attached Storage): A Complete Step-by-Step Guide

TrueNAS is a free, open-source Network-Attached Storage (NAS) solution renowned for its robustness, security, and ZFS (Zettabyte File System) integration. It’s designed for both home users and enterprises, offering features like:

  • ZFS Storage: Enterprise-grade data integrity (checksums, snapshots, replication).
  • File Sharing: Support for SMB (Windows), NFS (Linux/macOS), and AFP (deprecated, legacy macOS only).
  • App Ecosystem: Run apps like Plex, Nextcloud, or Docker containers (TrueNAS SCALE only).
  • Backup & Recovery: Scheduled snapshots, replication, and cloud integration.

Whether you want to centralize family photos, stream media, or back up your entire network, TrueNAS is a flexible, cost-effective choice. This guide will walk you through installing TrueNAS (Core or SCALE) and configuring key features.

Last Updated: 2026-03

Table of Contents#

  1. Prerequisites (Hardware & BIOS)
  2. Downloading TrueNAS (Core vs. SCALE)
  3. Creating a Bootable USB Drive
  4. Installing TrueNAS Step-by-Step
  5. First Boot & Accessing the Web UI
  6. Initial Post-Install Configuration
  7. Setting Up ZFS Storage Pools
  8. Creating Datasets & Managing Permissions
  9. Configuring Shared Folders (SMB/NFS/AFP - Deprecated)
  10. User & Group Management
  11. Optional: Advanced TrueNAS Features
  12. Troubleshooting Common Issues
  13. Conclusion
  14. References

1. Prerequisites (Hardware & BIOS)#

TrueNAS requires specific hardware to run reliably. Here’s what you need:

Hardware Requirements#

ComponentMinimumRecommended (Heavy Use)
CPU64-bit x86 (Intel/AMD), 2 cores4+ cores (Intel i5/i7, AMD Ryzen)
RAM8GB (TrueNAS Core) / 16GB (TrueNAS SCALE)32GB+
Boot Storage8GB+ USB drive or SSD16GB+ SSD (dedicated for boot)
Data Storage2+ drives (HDD/SSD) for ZFS pool4+ drives (RAID-Z1/Z2 for redundancy)
NetworkGigabit Ethernet (1Gbps)10Gigabit Ethernet (10Gbps)
Power Supply80+ Bronze certified80+ Gold certified

Critical Notes:#

  • Boot Drive: Use a separate USB/SSD for the TrueNAS OS—never use your data drives for booting.
  • Data Drives: ZFS works best with identical drives (same size, speed, brand). Avoid mixing HDDs and SSDs in the same vdev (see Section 7).
  • Redundancy: For data safety, use at least 2 drives (mirror) or 3 drives (RAID-Z1).

BIOS/UEFI Settings#

Before installing, configure your motherboard’s BIOS:

  1. Enable UEFI: Disable Legacy BIOS (CSM) if present.
  2. Disable Secure Boot: Required for booting from a USB drive.
  3. Enable Virtualization: Turn on Intel VT-x/AMD-V for virtual machines (optional).
  4. Set Boot Order: Prioritize the USB drive (for installation) or SSD (for permanent use).

2. Downloading TrueNAS (Core vs. SCALE)#

TrueNAS has two main editions—choose the right one for your needs:

FeatureTrueNAS Core (FreeBSD)TrueNAS SCALE (Linux)
Base OSFreeBSDDebian Linux
StabilityMature, battle-testedStable (newer)
App SupportLimited (jails)Full Kubernetes apps
Use CasePure storage/backupsHybrid storage + apps
VirtualizationBhyveKVM/QEMU

Download Steps:#

  1. Go to the TrueNAS Download Page.
  2. Select your edition:
    • TrueNAS Core: Click "Download TrueNAS Core" (ISO file ~1GB).
    • TrueNAS SCALE: Click "Download TrueNAS SCALE" (ISO file ~2GB).
  3. Save the ISO to your computer.

3. Creating a Bootable USB Drive#

You’ll need a bootable USB drive to install TrueNAS. Use BalenaEtcher (cross-platform) or Rufus (Windows).

Method 1: BalenaEtcher (Windows/macOS/Linux)#

  1. Download BalenaEtcher.
  2. Open Etcher, click Select Image, and choose the TrueNAS ISO.
  3. Insert your USB drive (8GB+), then select it in Etcher.
  4. Click Flash! and wait for the process to finish (~5 minutes).
  5. Safely eject the USB drive.

Method 2: Rufus (Windows Only)#

  1. Download Rufus.
  2. Open Rufus, select your USB drive from the "Device" dropdown.
  3. Click Select and choose the TrueNAS ISO.
  4. Keep default settings:
    • Partition scheme: GPT
    • Target system: UEFI (non-CSM)
  5. Click Start and confirm the warning (erases USB data).
  6. Eject the USB drive when done.

4. Installing TrueNAS Step-by-Step#

Now it’s time to install TrueNAS on your server.

Step 1: Boot from the USB Drive#

  1. Insert the bootable USB into your server.
  2. Power on the server and press the boot menu key (varies by motherboard):
    • Common keys: F12 (Dell/HP), Del (ASUS/Gigabyte), F2 (Lenovo).
  3. Select your USB drive from the boot menu (e.g., "Kingston DataTraveler").

Step 2: Run the TrueNAS Installer#

  1. The TrueNAS welcome screen will appear. Select Install TrueNAS (use arrow keys, press Enter).
  2. Select Boot Drive: Choose your USB/SSD (e.g., "ada0" for USB, "nvme0" for NVMe SSD).
    Critical: Do not select your data drives here!
  3. Set Root Password: Enter a strong password (you’ll use this to log into the web UI).
  4. Network Configuration:
    • By default, TrueNAS uses DHCP (automatic IP). To set a static IP (recommended for NAS):
      1. Select Configure Network Interfaces.
      2. Choose your Ethernet interface (e.g., "igb0" for Intel Gigabit).
      3. Select Static IPv4 and enter:
        • IP Address: e.g., 192.168.1.100 (use an unused IP on your network).
        • Subnet Mask: 255.255.255.0 (default for home networks).
        • Gateway: Your router’s IP (e.g., 192.168.1.1).
        • DNS: 8.8.8.8 (Google DNS) or your router’s DNS.
      4. Press Save and return to the installer.
  5. Confirm Installation: Review your settings and press Install.
  6. Reboot: When the install finishes, remove the USB drive and press Enter to reboot.

5. First Boot & Accessing the Web UI#

After rebooting, TrueNAS will display a console screen with:

  • Your server’s IP address (e.g., 192.168.1.100).
  • The web UI URL (e.g., http://192.168.1.100).

Access the Web UI:#

  1. On a computer connected to the same network, open a browser (Chrome/Firefox).
  2. Enter the TrueNAS IP (e.g., http://192.168.1.100).
  3. Log in with:
    • Username: root
    • Password: The root password you set during installation.

You’re now in the TrueNAS web UI—let’s configure it!

6. Initial Post-Install Configuration#

First, fix these critical settings:

  1. Go to Accounts > Users.
  2. Click the pencil icon next to the root user.
  3. Enter a new password and confirm it.
  4. Click Save.

6.2 Set Time Zone#

  1. Go to System > General.
  2. Under Time Zone, select your region (e.g., America/New_York).
  3. Click Save.

6.3 Update TrueNAS#

  1. Go to System > Updates.
  2. If an update is available, click Download Now.
  3. After downloading, click Install Update (reboots the server).

7. Setting Up ZFS Storage Pools#

ZFS is the heart of TrueNAS—it provides data integrity, compression, and redundancy. A "pool" is a collection of drives (vdevs) that store your data.

Step 1: Create a ZFS Pool#

  1. Go to Storage > Pools > Add.
  2. Name the Pool: Use a descriptive name (e.g., MediaPool).
  3. Add a Vdev:
    • Click Add Vdev > Data.
    • Select the drives you want to use (e.g., 3 HDDs).
    • Choose a RAID level (redundancy):
      • Mirror: 2 drives, 100% redundancy (best for small pools).
      • RAID-Z1: 3+ drives, tolerates 1 drive failure (most common).
      • RAID-Z2: 4+ drives, tolerates 2 drive failures (enterprise-grade).
      • RAID-Z3: 5+ drives, tolerates 3 drive failures (extreme redundancy).
  4. Review Settings: Ensure no data drives are selected for boot.
  5. Create Pool: Click Create Pool, then Confirm (erases all data on selected drives).

Example Pool Setup:#

  • Drives: 4 x 8TB HDDs
  • Vdev: RAID-Z2 (tolerates 2 drive failures)
  • Total Storage: ~16TB (4 drives × 8TB = 32TB, minus 50% for redundancy)

Critical ZFS Tips:#

  • No Mixing Drives: Use identical drives (size, speed, brand) in a vdev.
  • Add Vdevs, Not Drives: To expand a pool, add another vdev (e.g., a new RAID-Z1 vdev of 3 drives).
  • Compression: Enable lz4 compression (default) to save space without performance loss.

8. Creating Datasets & Managing Permissions#

A dataset is a folder within a ZFS pool—use it to organize data (e.g., Movies, Photos, Backups).

Step 1: Create a Dataset#

  1. Go to Storage > Pools > [Your Pool] > Add Dataset.
  2. Name the Dataset: e.g., Movies.
  3. Configure Options:
    • Type: Keep as Filesystem (default for general use).
    • Compression: lz4 (recommended).
    • Quota: Optional (e.g., 10TB to limit dataset size).
    • Permissions:
      • Unix: Simple read/write permissions (best for home use).
      • ACL: Fine-grained control (for enterprises).
  4. Click Save.

Step 2: Set Permissions (Unix)#

  1. Open the dataset’s Edit menu (pencil icon).
  2. Go to the Permissions tab.
  3. Set:
    • Owner (User): root (or a custom user, see Section 10).
    • Owner (Group): users (or a custom group).
    • Mode: 775 (read/write for owner/group, read-only for others).
  4. Click Save.

9. Configuring Shared Folders (SMB/NFS/AFP)#

TrueNAS supports three main file-sharing protocols—choose the one that matches your devices:

9.1 SMB (Windows/Mac/iOS)#

SMB is the standard for Windows and works with macOS/iOS.

Step 1: Enable SMB Service#

  1. Go to Services > SMB > Configure.
  2. Toggle the Enable switch (top-right).
  3. Click Save.

Step 2: Create an SMB Share#

  1. Go to Shares > SMB > Add.
  2. Name the Share: e.g., MoviesShare.
  3. Select Dataset: Choose the dataset (e.g., MediaPool/Movies).
  4. Permissions:
    • Guest Access: Disable (not secure) unless for public files.
    • Allowed Users/Groups: Select which users can access the share (e.g., john).
  5. Click Save > Apply Changes.

Access from Windows:#

  • Open File Explorer.
  • Type \\[TrueNAS IP]\[Share Name] (e.g., \\192.168.1.100\MoviesShare).
  • Enter your TrueNAS username/password.

9.2 NFS (Linux/macOS)#

NFS is faster for Linux and macOS.

Step 1: Enable NFS Service#

  1. Go to Services > NFS > Configure.
  2. Toggle Enable.
  3. Click Save.

Step 2: Create an NFS Share#

  1. Go to Shares > NFS > Add.
  2. Name the Share: e.g., MoviesNFS.
  3. Select Dataset: MediaPool/Movies.
  4. Allowed Networks: Enter your local network (e.g., 192.168.1.0/24).
  5. Click Save > Apply Changes.

Access from Linux:#

  • Open Terminal.
  • Run: sudo mount -t nfs [TrueNAS IP]:/mnt/[Pool]/[Dataset] /mnt/local-folder
    Example: sudo mount -t nfs 192.168.1.100:/mnt/MediaPool/Movies /mnt/Movies

9.3 AFP (Deprecated - Legacy macOS Only)#

AFP is deprecated and no longer available in current TrueNAS versions. It was removed starting with TrueNAS Core 13.0. This section is for reference only if you are using an older TrueNAS Core version (pre-13.0). For modern macOS systems, use SMB instead (see Section 9.1).

10. User & Group Management#

For security, never use the root user for daily access. Create custom users and groups instead.

10.1 Create a User#

  1. Go to Accounts > Users > Add.
  2. Fill in Details:
    • Username: e.g., john
    • Password: Strong password
    • Home Directory: Select a dataset (e.g., MediaPool/Home/john—creates a personal folder).
    • Primary Group: users (default) or a custom group.
  3. Click Save.

10.2 Create a Group#

Groups make it easier to manage permissions for multiple users.

  1. Go to Accounts > Groups > Add.
  2. Name the Group: e.g., MediaUsers.
  3. Add Users: Select users to include (e.g., john, jane).
  4. Click Save.

10.3 Assign Permissions to a Group#

  1. Go to Shares > [Your Share] > Edit.
  2. Under Allowed Groups, select the group (e.g., MediaUsers).
  3. Click Save > Apply Changes.

11. Optional: Advanced TrueNAS Features#

11.1 Installing Apps (TrueNAS SCALE)#

TrueNAS SCALE lets you run Kubernetes apps (like Plex, Nextcloud, or Jellyfin) directly from the web UI.

Step 1: Install an App#

  1. Go to Apps > Available Applications.
  2. Search for an app (e.g., Plex Media Server).
  3. Click Install.
  4. Configure the App:
    • Name: Customize (e.g., PlexServer).
    • Storage: Map the dataset (e.g., MediaPool/Movies to /media).
    • Network: Keep default (uses a random port).
  5. Click Save (takes 5–10 minutes to install).

Access the App:#

  • After installation, click the app’s Web UI button (e.g., http://192.168.1.100:32400 for Plex).

11.2 Setting Up Backups (Snapshots/Replication)#

ZFS snapshots are point-in-time copies of your data—they’re fast and take no extra space until data changes.

Step 1: Create a Snapshot#

  1. Go to Storage > Pools > [Your Pool] > Snapshots > Add.
  2. Name the Snapshot: e.g., Movies_20240520.
  3. Recursive: Enable to snapshot child datasets.
  4. Click Save.

Step 2: Schedule Snapshots#

  1. Go to Tasks > Snapshots > Add.
  2. Select Dataset: Choose the dataset (e.g., MediaPool/Movies).
  3. Schedule: Set how often to take snapshots (e.g., hourly, daily).
  4. Retention: Keep snapshots for a set period (e.g., 24 hourly, 7 daily).
  5. Click Save.

Step 3: Replicate to Another Pool/Remote NAS#

Replication copies snapshots to another pool or remote TrueNAS server.

  1. Go to Tasks > Replications > Add.
  2. Source: Select your local dataset (e.g., MediaPool/Movies).
  3. Destination: Choose a remote TrueNAS server or local pool.
  4. Schedule: Set how often to replicate (e.g., daily).
  5. Click Save.

11.3 Remote Access (VPN/Tailscale)#

To access TrueNAS from outside your home, use a VPN or Tailscale (easier).

Option A: Tailscale (No Port Forwarding)#

Tailscale creates a secure "mesh network" between your devices—no router configuration needed.

  1. Go to Apps > Tailscale > Install.
  2. Open the Tailscale app and log in with your Tailscale account.
  3. Get your Tailscale IP (e.g., 100.64.1.2).
  4. Access TrueNAS via http://[Tailscale IP] from anywhere.

Option B: OpenVPN (Secure, Requires Port Forwarding)#

OpenVPN is more secure but requires configuring your router.

  1. Go to Services > OpenVPN > Configure.
  2. Click Add > Server.
  3. Settings:
    • Protocol: UDP
    • Port: 1194 (default)
    • DNS: 8.8.8.8
  4. Click Save > Apply Changes.
  5. Port Forwarding: Log into your router and forward UDP port 1194 to your TrueNAS IP.
  6. Export Client Config: Go to Services > OpenVPN > Clients > Export and send the file to your device.
  7. Connect: Install the OpenVPN client on your phone/laptop and import the config.

11.4 Monitoring & Alerts#

TrueNAS has built-in tools to monitor your server’s health.

Step 1: Check System Health#

  1. Go to System > Health.
  2. Review:
    • CPU/RAM Usage: Should be <70% under load.
    • Storage: Check for degraded pools or failed drives.
    • Network: Ensure no dropped packets.

Step 2: Set Up Email Alerts#

Get notified if a drive fails or the pool degrades.

  1. Go to System > Alerts > Configure.
  2. SMTP Settings:
  3. Click Save.
  4. Test Alert: Click Send Test Alert to verify.

12. Troubleshooting Common Issues#

Here are fixes for the most frequent problems:

Issue 1: Can’t Boot from USB#

  • Fix: Re-flash the USB with Etcher (Rufus sometimes has issues). Disable Secure Boot in BIOS.

Issue 2: Can’t Access the Web UI#

  • Fix: Ping the TrueNAS IP (e.g., ping 192.168.1.100 from your computer). If no response, check:
    • Is TrueNAS on the same network?
    • Is the firewall on your computer blocking access?

Issue 3: ZFS Pool Degraded#

  • Fix: Go to Storage > Pools—a red "Degraded" status means a drive failed. Replace the drive, then:
    1. Click Replace next to the failed drive.
    2. Select the new drive and click Confirm.
    3. ZFS will rebuild the pool (takes hours/days depending on drive size).

Issue 4: Shared Folder Not Accessible#

  • Fix: Check:
    • Is the service (SMB/NFS) enabled?
    • Does the user have permissions to the share?
    • Is the firewall on TrueNAS blocking traffic? (Default: No)

13. Conclusion#

Installing TrueNAS is straightforward with the right preparation. Key takeaways:

  • ZFS is King: Use RAID-Z1/Z2 for redundancy—never skip it.
  • Separate Boot Drive: Keep the OS on a dedicated USB/SSD.
  • Static IP: Critical for reliable access to your NAS.
  • Back Up Everything: Use snapshots and replication to protect your data.

TrueNAS is a powerful tool—start with basic file sharing, then explore apps or virtualization as you gain confidence.

14. References#

  1. TrueNAS Official Documentation
  2. OpenZFS User Guide
  3. Balena Etcher
  4. Rufus
  5. Tailscale
  6. OpenVPN
  7. ZFS RAID Levels Explained

Let me know if you have questions—I’m happy to help! 🚀