Auto-update blog content from Obsidian: 2026-02-27 21:30:47
All checks were successful
Blog Deployment / Check-Rebuild (push) Successful in 7s
Blog Deployment / Build (push) Has been skipped
Blog Deployment / Deploy-Staging (push) Successful in 9s
Blog Deployment / Test-Staging (push) Successful in 2s
Blog Deployment / Merge (push) Successful in 6s
Blog Deployment / Deploy-Production (push) Successful in 9s
Blog Deployment / Test-Production (push) Successful in 2s
Blog Deployment / Clean (push) Has been skipped
Blog Deployment / Notify (push) Successful in 2s
All checks were successful
Blog Deployment / Check-Rebuild (push) Successful in 7s
Blog Deployment / Build (push) Has been skipped
Blog Deployment / Deploy-Staging (push) Successful in 9s
Blog Deployment / Test-Staging (push) Successful in 2s
Blog Deployment / Merge (push) Successful in 6s
Blog Deployment / Deploy-Production (push) Successful in 9s
Blog Deployment / Test-Production (push) Successful in 2s
Blog Deployment / Clean (push) Has been skipped
Blog Deployment / Notify (push) Successful in 2s
This commit is contained in:
@@ -1,12 +1,13 @@
|
||||
---
|
||||
slug: create-nas-server-with-truenas
|
||||
title: Template
|
||||
description:
|
||||
date:
|
||||
title: Build and install of my NAS with TrueNAS Scale
|
||||
description: "Step-by-step TrueNAS SCALE homelab NAS build: hardware choice, installation, ZFS pool and datasets, SMB/NFS shares and snapshots."
|
||||
date: 2026-02-27
|
||||
draft: true
|
||||
tags:
|
||||
- truenas
|
||||
categories:
|
||||
- homelab
|
||||
---
|
||||
## Introduction
|
||||
|
||||
@@ -14,22 +15,21 @@ In my homelab, I need a place to store data outside of my Proxmox VE cluster.
|
||||
|
||||
At the beginning, my single physical server has 2 HDDs disks of 2 TB. When I installed Proxmox on it, those disks stayed attached to the host. I shared them via an NFS server in an LXC, far from best practice.
|
||||
|
||||
This winter, the node started to fail, shutting down for no reason. This buddy is now 7 years old. When it went offline, my NFS shares disappeared, taking a few services down with them in my homelab. Replacing the CPU fan stabilized it, but I now want a safer home for that data.
|
||||
This winter, the node started to fail, shutting down for no reason. This buddy is now 7 years old. When it went offline, my NFS shares disappeared, taking a few services down with them in my homelab. Replacing the CPU fan stabilized it, but I now want a safer home for that data.
|
||||
|
||||
In this article, I’ll walk you through how I built my NAS with TrueNAS.
|
||||
|
||||
---
|
||||
## Choose the right platform
|
||||
|
||||
|
||||
For a while I wanted a NAS. Not an out‑of‑the‑box Synology or QNAP, even though I think they’re solid. I wanted to build mine. Space is tight in my tiny rack, and small NAS cases are rare.
|
||||
For a while I wanted a NAS. Not an out‑of‑the‑box Synology or QNAP, even though I think they’re great products. I wanted to build mine. Space is tight in my tiny rack, and small NAS cases are rare.
|
||||
|
||||
### Hardware
|
||||
|
||||
I went for an all‑flash NAS. Why?
|
||||
- It's fast
|
||||
- It's ~~furious~~ compact
|
||||
- It's quieter
|
||||
- It's quiet
|
||||
- It uses less power
|
||||
- It runs cooler
|
||||
|
||||
@@ -40,7 +40,7 @@ The trade‑off is price.
|
||||
My first choice was the [Aiffro K100](https://www.aiffro.com/fr/products/all-ssd-nas-k100). But shipping to France nearly doubled the price. Finally I ended up with a [Beelink ME mini](https://www.bee-link.com/products/beelink-me-mini-n150?variant=48678160236786).
|
||||
|
||||
This small cube has:
|
||||
- N200 CPU
|
||||
- Intel N200 CPU
|
||||
- 12 GB RAM
|
||||
- 2x 2.5 Gbps Ethernet
|
||||
- Up to 6x NVMe drives
|
||||
@@ -154,12 +154,12 @@ I create another dataset: `media`, and a child `photos`. I create a NFS share fr
|
||||
|
||||
On my current NFS server, the files for the photos are owned by `root` (managed by *Immich*). Later I'll see how I can migrate towards a root-less version.
|
||||
|
||||
⚠️ For now I set, in `Advanced Options`, the `Maproot User` and `Maproot Group` to `root`. This is equivalent to the attribute `no_squash_root`, the local `root` of the client stays `root` on the server, don't do that:
|
||||
⚠️ For now I set, in `Advanced Options`, the `Maproot User` and `Maproot Group` to `root`. This is equivalent to the NFS attribute `no_squash_root`, the local `root` of the client stays `root` on the server, don't do that:
|
||||

|
||||
|
||||
✅ I try to mount the NFS share on a client, this is working fine.
|
||||
✅ I mount the NFS share on a client, this works fine.
|
||||
|
||||
At the end, my datasets tree in my `storage` pool look like this:
|
||||
After initial setup, my `storage` pool datasets look like:
|
||||
- backups
|
||||
- `duplicati`: [Duplicati](https://duplicati.com/) storage backend
|
||||
- `proxmox`: future Proxmox Backup Server
|
||||
@@ -170,18 +170,20 @@ At the end, my datasets tree in my `storage` pool look like this:
|
||||
- `photos`
|
||||
- `videos`
|
||||
|
||||
On the requirement, I talked about VM capabilities. I won't cover that is this post, it will be covered next time.
|
||||
I mentioned VM capabilities in my requirements. I won't cover that is this post, it will be covered next time.
|
||||
### Data protection
|
||||
|
||||
Now let's configure some data protection features, here is the `Data Protection` tab:
|
||||
Now time to enable some data protection features:
|
||||

|
||||
|
||||
I want to create automatic snapshots for some of my datasets, those I care the most are my cloud files and the photos.
|
||||
I want to create automatic snapshots for some of my datasets, those I care the most: my cloud files and photos.
|
||||
|
||||
Let's create snapshot tasks. I click on the `Add` button next to `Periodic Snapshot Tasks`. For the `cloud` dataset, I create a daily snapshot with a lifetime of 2 months, for `photos`, only 7 days should be fine:
|
||||
Let's create snapshot tasks. I click on the `Add` button next to `Periodic Snapshot Tasks`:
|
||||
- cloud: daily snapshots, keep for 2 months
|
||||
- photos: daily snapshots, keep for 7 days
|
||||

|
||||
|
||||
I could also create a `Cloud Sync Task` but I already have Duplicati managing this.
|
||||
I could also set up a `Cloud Sync Task`, but Duplicati already handles offsite backups.
|
||||
|
||||
---
|
||||
## Using TrueNAS
|
||||
@@ -210,7 +212,7 @@ Out of curiosity, I've checked on the Google Play store for an app to manage a T
|
||||
My NAS is now ready to store my data.
|
||||
|
||||
I didn't address VM capabilities as I will experience it soon to install Proxmox Backup Server as VM. Also I didn't configure notifications, I need to setup a solution to receive email alerts to my notification system.
|
||||
****
|
||||
TrueNAS is a really great product. It requires a little bit of hardware to support ZFS.
|
||||
|
||||
The next step would be to deploy a in TrueNAS.
|
||||
TrueNAS is a great product. It needs capable hardware for ZFS, but the experience is excellent once set up.
|
||||
|
||||
Next step: deploy Proxmox Backup Server as a VM on TrueNAS, then revisit NFS permissions to go root‑less for Immich.
|
||||
Reference in New Issue
Block a user