Skip to content
me.lasindu.com
All writing

Turning an old desktop into a NAS with TrueNAS

, 6 min read

An old desktop makes a capable first homelab server. It has room for several drives and costs nothing extra to start with, and it can run apps as well as store files. TrueNAS Community Edition is a good fit because it gives you ZFS and a web interface without much Linux administration.

By the end of this guide, you'll have a storage pool, a network share and a basic data protection schedule. The next guide adds apps on top of it.

Check the hardware

Most desktops from the last decade will do, but check these first. The TrueNAS hardware guide has the full details.

  • Memory: the minimum is 8 GB for basic use. If you plan to run apps, aim for 16 GB or more, because Immich alone needs 6 to 8 GB.
  • Boot drive: use a small SSD of at least 16 GB. The installer erases this drive and TrueNAS keeps it for the system, so your files need separate drives. Avoid USB sticks.
  • Data drives: use CMR drives. TrueNAS doesn't recommend DM-SMR or HA-SMR drives, which perform poorly and can make rebuilds slow and less reliable. Host-managed SMR isn't supported, and manufacturers don't always make the recording type obvious, so check the model's data sheet.
  • Drive controller: connect drives through the motherboard's SATA ports or an HBA. Avoid hardware RAID, because ZFS needs direct access to the disks. Set the motherboard's SATA mode to AHCI rather than RAID.
  • ECC memory: it's a useful extra protection, but many TrueNAS systems run without it and most old desktops don't support it. Test the memory you have instead.

Test before you trust it

Old hardware fails in predictable ways, so test it before you put data on it:

  1. Run MemTest86 for at least one full pass. Bad memory can silently damage data.
  2. Clean out the dust, and check that the fans spin and that there's airflow over the drives.
  3. After installing TrueNAS, check each drive's health from System > Shell:
sudo smartctl -a /dev/sda        # Health, hours and error counts
sudo smartctl -t long /dev/sda   # Start a full self-test

The long test runs in the background and can take many hours on a large drive. Run smartctl -a again afterwards to see the result. Be wary of a used drive with reallocated or pending sectors.

Work out the running cost

A desktop that's always on uses far more power than a small NAS appliance. As an example, a machine averaging 60 W uses about 526 kWh a year, which comes to about $158 at $0.30 per kWh. Measure yours with a smart plug and use your own electricity rate. Removing a spare graphics card can help, if the machine will still boot without one.

While you're in the firmware settings, look for an option to restore power after an outage, so that the server restarts by itself.

Install TrueNAS

Download the current stable release from the TrueNAS download page. When this was written, that was 25.10.7. The newer 27.0 builds were still early releases, so check the software status page and follow its recommendation for general users.

The install guide covers each screen, but the process is short:

  1. Write the ISO to a USB stick with balenaEtcher, or Rufus in DD Image mode.
  2. In the firmware settings, disable Secure Boot and boot from the USB stick.
  3. Choose Install/Upgrade, then select the boot SSD with the Spacebar. Check this carefully, because the selected drive gets erased.
  4. Choose Administrative user (truenas_admin) and set a strong password.
  5. Remove the USB stick and restart.

The console shows an IP address once the system has started. Open that address in a browser and sign in as truenas_admin.

Next, reserve that IP address for the server in your router's DHCP settings. Your shares and apps will all rely on it staying the same.

Create a storage pool

A pool is a group of drives that ZFS manages together. Its layout is the most important choice in this guide, because some choices are hard to change later.

  • Mirror, for two drives: every block is on both drives, so one can fail. Two 4 TB drives give you about 4 TB.
  • RAIDZ1, for three or more drives: one drive's worth of space holds parity, so one can fail. Three 4 TB drives give you about 8 TB, before overhead.
  • RAIDZ2, for four or more drives: two drives can fail. This is a better choice for large or older drives, because a rebuild puts extra strain on the remaining ones.
  • Stripe, or a single drive: there's no redundancy, so one failure loses the pool. Only use this for data you can easily replace.

ZFS treats every drive in a group as the size of the smallest one, so matching sizes make the best use of your space.

To create the pool, go to Storage, select Create Pool and follow the wizard. This guide names the pool tank, and you can't rename a pool later.

Share files over the network

Keep different types of data in separate datasets, which are like folders with their own settings and snapshots. Don't share the root of a pool, because this causes permission problems.

The SMB guide covers the details:

  1. Go to Credentials > Users and add a user for yourself, with SMB access turned on.
  2. Go to Shares and select Add on the Windows (SMB) Shares widget.
  3. Select tank, choose Create Dataset and name it media. Set Purpose to Default Share and save.
  4. Open the share's menu and select Edit Filesystem ACL. Change @owner and @group from root to your new user, select Apply under each, then save.
  5. If prompted, start the SMB service. Otherwise, go to System > Services, start SMB and turn on Start Automatically.

Repeat steps 2 to 4 for each share you want, such as documents. You can then connect from your computer:

  • Windows: enter \\192.168.1.50\media in File Explorer, using your server's IP address.
  • macOS: select Finder > Go > Connect to Server and enter smb://192.168.1.50/media.

Copy a test file across and back, then restart the server and check that the share comes back.

Protect your data

A mirror or RAIDZ pool keeps you running when a drive fails. It doesn't protect you from a deleted file, ransomware, a house fire or a mistake in the pool itself, so you need the following as well.

Snapshots let you restore files from an earlier point in time. Go to Data Protection, add a periodic snapshot task for each important dataset and set how long to keep them. Snapshots take little space at first and grow as data changes. In 25.10, they also replace the old SMB recycle bin.

Scrubs read your data and check it for silent corruption. TrueNAS schedules them by default, and you can change the schedule from the Storage Health widget on the Storage page.

Drive monitoring changed in 25.10. The built-in SMART test scheduling was removed, and TrueNAS now polls SMART data automatically and relies on ZFS to detect failures. Make sure alerts reach you by setting up email under System, or you won't find out about a failing drive until you log in.

Backups need to live somewhere else. A common rule is 3-2-1: three copies of your data, on two types of storage, with one copy offsite. On TrueNAS, you can use a cloud sync task to send your important datasets to object storage, or replicate them to a second TrueNAS machine. Then test a restore, because you can't rely on a backup you've never restored from.

If you can, add a small UPS as well. It lets the server ride out short outages and protects your drives from sudden power loss.

Keep it private

Never forward the TrueNAS web interface to the internet. If you need access away from home, use a private network such as Tailscale, which the next guide sets up.

TrueNAS details were checked against the 25.10 documentation in November 2026. Menu names can change between releases, so check the documentation for your version.