Sunday, August 30, 2026

DIY Laptop NAS with TrueNAS SCALE

Turn an Old Laptop into a DIY TrueNAS Server

Give your old hardware a second life as a dedicated Network Attached Storage (NAS) box. Laptops make surprisingly resilient beginner home servers because of their low idle power draw and built-in uninterruptible power supply (the battery).

1. Hardware & Software Requirements

  • Old 64-bit Laptop: At least 8 GB of RAM recommended (4 GB bare minimum for TrueNAS SCALE).
  • Drives: One small internal drive for the TrueNAS OS, and internal/external drives for your storage pool.
  • Ethernet Connection: TrueNAS does not reliably support Wi-Fi configuration out of the box. Keep it hardwired to your router.
  • 1x USB Flash Drive: (8 GB+) for the TrueNAS SCALE installer.
  • Software to Download:

2. BIOS/UEFI Tweaks & Troubleshooting

Power on your laptop and continuously tap the BIOS key (usually F2, F12, Del, or Esc).

Server hardware setup
BIOS Setting Recommended Value Why & Common Issues
Secure Boot Disabled Issue: TrueNAS installer fails to load or shows a signature error.
Fix: Disable Secure Boot under the Security/Boot tab.
Virtualization (VT-x / AMD-V) Enabled Issue: Docker containers, apps, and VMs won't initialize.
Fix: Enable Intel Virtualization Technology or AMD-SVM in CPU settings.
SATA Controller Mode AHCI Issue: TrueNAS doesn't detect your internal SSD/HDD.
Fix: Change from "RAID / Intel RST" mode to standard "AHCI".
AC Power Recovery / Wake On LAN Power On / Enabled Ensures the laptop powers back on automatically after an extended power outage.
Lid Close Action Do Nothing Issue: Laptop sleeps when closed.
Fix: Set to "Do Nothing" in BIOS if available (TrueNAS also handles this via OS settings).

3. Installing TrueNAS SCALE

  1. Insert the flashed USB into your laptop and boot from it (via BIOS boot selection menu).
  2. Select Install/Upgrade.
  3. Choose the drive where TrueNAS SCALE should be installed. (Warning: This drive will be wiped completely and cannot be used to store regular files!)
  4. Set an Administrative password or WebUI credentials.
  5. Select Boot via UEFI (recommended for modern systems) or Legacy BIOS.
  6. Once complete, remove the USB drive and reboot the laptop.
  7. When booted, the laptop screen will display a web console IP address (e.g., https://192.168.1.150).

4. Creating Storage Pools & Shares

  1. Open a browser on another computer on the same network and navigate to the laptop's assigned IP address.
  2. Log in with your administrator credentials.
  3. Navigate to Storage → Create Pool.
  4. Name your pool (e.g., tank) and assign your available data drives.
  5. Navigate to Datasets to create a shared folder structure (e.g., tank/media, tank/backups).
  6. Go to Shares and add a Windows (SMB) Share pointing to your dataset so other PCs can access it over the network.

5. Setting Up Docker, Tailscale, & Common Apps

Modern TrueNAS SCALE integrates Docker and native container management directly into the Apps ecosystem.

A. Initializing the Apps Subsystem

  1. Go to the Apps tab in the WebUI.
  2. TrueNAS will ask you to select a storage pool to hold your container data. Choose the pool you created in Step 4.

B. Installing Tailscale (Access Your NAS Anywhere)

Tailscale creates a secure mesh VPN, letting you access your files away from home without port forwarding.

  1. In the Apps → Discover Apps catalog, search for Tailscale.
  2. Click Install.
  3. Under the configuration options, enter your Tailscale Auth Key (generate one at login.tailscale.com).
  4. Enable Userspace Routing and Host Network if prompted.
  5. Save and start the container. Your TrueNAS instance will appear on your Tailscale admin dashboard.

C. Installing Nextcloud / Plex / Jellyfin

  1. Search the Discover Apps tab for the service you want (e.g., Jellyfin for home streaming, Nextcloud for personal cloud storage).
  2. Set up Host Path Volume Mounts to point container folders to your datasets created in Step 4 (e.g., mount /tank/media to container's /media).

Troubleshooting Common App & Docker Errors

  • App stuck in "Deploying" state: Usually caused by improper dataset permissions (ACLs). Ensure the apps user (UID 568) has Read/Write permissions on the mapped datasets.
  • Port Conflict Error: If an app fails to bind to port 80 or 443, change the container port mapping in its app settings, as TrueNAS WebUI uses those ports by default.
  • DNS/Internet Resolution Failures: Under Network → Global Configuration, make sure your Nameservers (DNS) are set properly (e.g., 1.1.1.1 and 8.8.8.8).

6. Laptop-Specific Final Tweaks

  • Prevent Sleep on Lid Close: Run this via System Settings → Shell to ensure systemd ignores lid switches:
    sudo sed -i 's/#HandleLidSwitch=suspend/HandleLidSwitch=ignore/' /etc/systemd/logind.conf
    sudo systemctl restart systemd-logind
  • Thermal Management: Prop up the bottom of the laptop or remove the bottom casing entirely to allow passive airflow, as server workloads keep fans running continuously.
  • Battery Care: If your laptop BIOS has a "Battery Health / Conservation" charging limiter (capping charge at 60-80%), turn it on to prolong battery life while plugged in 24/7.

No comments:

Post a Comment