TrueNAS SCALE Setup: From Install to First Share
TrueNAS SCALE is one of the best free NAS operating systems available, and it's the version you should be installing in 2026. Unlike TrueNAS CORE (which runs on FreeBSD), SCALE is Linux-based, which means native Docker support, better hardware compatibility, and a more familiar ecosystem if you're coming from the Linux world.
This guide walks you through the entire process: installing SCALE on bare metal, creating a ZFS pool, sharing files over your network, and deploying your first app. No prior TrueNAS experience required.
What You Need
Before you start, gather your hardware:
- A dedicated machine — TrueNAS wants its own box. Don't dual-boot it. An old desktop, a mini PC, or purpose-built NAS hardware all work. Minimum 8 GB RAM, but 16 GB is strongly recommended for ZFS.
- A boot drive — A small SSD (even 32 GB works) for the TrueNAS operating system. Don't waste a good drive on this — a cheap SATA SSD or even a USB stick works, though SSDs are more reliable long-term.
- Data drives — At least two drives for redundancy. SATA HDDs are the standard choice for bulk storage. Match drive sizes if possible.
- A USB flash drive — To write the installer image.
Download the latest TrueNAS SCALE ISO from truenas.com/download. Write it to your USB drive with dd, Balena Etcher, or Rufus.
Installing TrueNAS SCALE
Boot from the USB drive. You'll get a text-based installer — it's simple but functional.
- Select Install/Upgrade.
- Choose your boot drive. The installer will warn you that this drive will be erased. Make sure you're selecting the right one — not your data drives.
- Set a root password. You'll use this for the web UI.
- Choose UEFI or BIOS boot depending on your hardware. UEFI is the right choice for anything made in the last decade.
- Wait for the install to finish, then remove the USB drive and reboot.
On first boot, TrueNAS will display its IP address in the console. Navigate to that address in your browser to access the web UI.
Initial Web UI Configuration
Log in with root and the password you set during installation. The first time you log in, SCALE will prompt you to set up a few things.
Set Your Timezone and Hostname
Go to System > General Settings. Set your timezone and give the machine a hostname like truenas or nas01. This is what will show up on your network.
Configure Static IP
By default, TrueNAS uses DHCP. For a server, you want a static IP. Go to Network > Interfaces, edit your primary interface, and assign a static IP within your LAN range. For example:
- IP:
192.168.1.50 - Subnet mask:
/24 - Default gateway:
192.168.1.1
Alternatively, set a DHCP reservation on your router so the IP doesn't change even with DHCP enabled.
Create an Admin User
Running everything as root is bad practice. Go to Credentials > Local Users and create a regular admin user. Add this user to the builtin_administrators group. You can then disable root login for the web UI.
Creating a Storage Pool
This is the core of your NAS. A storage pool is a ZFS pool — a collection of drives managed together with built-in redundancy and data integrity.
Go to Storage > Create Pool.
Choosing a Layout
TrueNAS will show you your available drives. You need to decide on a VDEV layout:
- Mirror (2 drives) — Each drive is a copy of the other. You lose 50% of your raw capacity but get full redundancy. Great for 2-drive setups.
- RAIDZ1 (3+ drives) — One drive of parity. Survives one drive failure. Good for 3-5 drives.
- RAIDZ2 (4+ drives) — Two drives of parity. Survives two simultaneous drive failures. Recommended for larger arrays or drives over 4 TB where rebuild times are long.
- Stripe (no redundancy) — Don't do this for anything you care about.
For a typical homelab with 2-4 drives, a mirror or RAIDZ1 is the right call.
Example: Creating a 2-Drive Mirror Pool
- Name the pool (e.g.,
tank— the traditional ZFS pool name). - Select your two data drives.
- Choose Mirror as the layout.
- Click Create.
TrueNAS will format the drives and create the pool. This takes a few seconds for empty drives.
Adding a Cache Drive (Optional)
If you have a spare SSD, you can add it as an L2ARC (read cache) or SLOG (write log). For most homelabs, skip this — ZFS's built-in ARC cache in RAM is usually sufficient. L2ARC can actually hurt performance if you don't have enough RAM (it uses RAM to index the cache).
Setting Up SMB Shares (Windows/Mac)
SMB is the standard file sharing protocol for Windows and macOS. Go to Shares > SMB.
Create a Dataset First
Before creating a share, create a dataset for it. Datasets are like folders within your pool, but with their own ZFS properties (compression, quotas, snapshots).
Go to Datasets and create a new dataset under your pool:
- Name:
shared(or whatever you like) - Share Type: SMB (this sets the right ACL type)
Create the Share
Go to Shares > SMB > Add:
- Path: select your dataset (
/mnt/tank/shared) - Name:
shared(this is what shows up on the network) - Enable the share
TrueNAS will ask if you want to enable the SMB service. Say yes.
Set Permissions
This trips up a lot of people. Go to your dataset, click Edit Permissions, and either:
- Use a simple preset like Open for a home setup where you trust everyone on the network.
- Set up ACLs for more granular control if you have multiple users.
Now test from another machine:
# Linux
smbclient //192.168.1.50/shared -U yourusername
# Or mount it
sudo mount -t cifs //192.168.1.50/shared /mnt/nas -o username=yourusername
On Windows, open File Explorer and type \\192.168.1.50\shared in the address bar.
Setting Up NFS Shares (Linux)
If your clients are Linux machines, NFS is faster and simpler. Go to Shares > NFS.
Create a dataset with share type Generic (not SMB). Then add an NFS share:
- Path:
/mnt/tank/linux-data - Authorized networks:
192.168.1.0/24(your LAN) - Maproot User:
rootornobodydepending on your security preference
On your Linux client:
# Install NFS client
sudo apt install nfs-common # Debian/Ubuntu
sudo dnf install nfs-utils # Fedora
# Mount the share
sudo mount -t nfs 192.168.1.50:/mnt/tank/linux-data /mnt/nas
# Add to /etc/fstab for automatic mounting
echo "192.168.1.50:/mnt/tank/linux-data /mnt/nas nfs defaults 0 0" | sudo tee -a /etc/fstab
Deploying Apps
TrueNAS SCALE has a built-in app catalog powered by Docker and Kubernetes (though in recent versions, iXsystems has been moving toward plain Docker Compose, which is much simpler).
Go to Apps in the sidebar.
Setting Up the Apps Pool
The first time, SCALE will ask you to designate a pool for app storage. Pick your main pool and let it create a dedicated dataset.
Installing an App
Browse the catalog or search for what you want. Some solid first apps:
- Plex or Jellyfin — Media server
- Nextcloud — File sync and collaboration
- Syncthing — Peer-to-peer file sync
- Home Assistant — Home automation
Click the app, configure the settings (port numbers, storage paths), and deploy. Most apps are running within a minute.
Pointing Apps at Your Data
The key thing: when configuring app storage, map your datasets into the container. For example, point Jellyfin's media folder at /mnt/tank/media so it can access your files.
Essential Post-Setup Tasks
Enable Snapshots
ZFS snapshots are instant, space-efficient point-in-time copies of your data. Go to Data Protection > Periodic Snapshot Tasks and create a schedule:
- Dataset:
tank(recursive to cover all child datasets) - Schedule: Every day, keep for 2 weeks
- Naming:
auto-%Y-%m-%d_%H-%M
Snapshots saved me when I accidentally deleted a project folder. Restoring was instant.
Set Up SMART Monitoring
Go to Data Protection > S.M.A.R.T. Tests and schedule both short tests (weekly) and long tests (monthly). This monitors your drive health. Also set up email alerts under System > Alert Settings so TrueNAS can warn you when a drive starts failing.
Configure Scrubs
ZFS scrubs verify data integrity by reading every block and checking it against its checksum. TrueNAS schedules these automatically (every 35 days by default). Don't disable them — scrubs are how ZFS catches silent data corruption before it becomes a problem.
Set Up Replication (Optional)
If you have a second TrueNAS machine (even a small one at a friend's house), set up replication tasks to send snapshots offsite. Go to Data Protection > Replication Tasks. This gives you a proper offsite backup with ZFS-level efficiency.
Troubleshooting Common Issues
Can't access shares from other machines: Check your firewall settings and make sure the SMB/NFS service is running. On the client side, verify you can ping the TrueNAS IP.
Pool shows as degraded: A drive has failed or been removed. Replace it ASAP. Go to Storage, find the degraded VDEV, and replace the faulted drive.
Slow performance: Check your RAM usage. ZFS wants RAM for its ARC cache. If you're running apps and shares on 8 GB, you're going to have a bad time. Upgrade to 16-32 GB.
Apps won't start: Check that your apps pool is set correctly and that the datasets have the right permissions. Container permission issues are the most common app problem.
Where to Go From Here
Once your basic setup is running, consider these next steps:
- Set up a UPS and connect it to TrueNAS via USB for clean shutdowns during power outages
- Configure cloud sync tasks to back up critical data to Backblaze B2 or similar
- Enable 2FA on the web UI for security
- Join the TrueNAS community forums — they're active and helpful when you hit edge cases
TrueNAS SCALE is an excellent NAS platform, especially for homelabbers who want Linux compatibility and Docker support. The initial setup takes about an hour, and once it's running, it mostly takes care of itself. Just keep an eye on drive health alerts and make sure your scrubs are running.