Which OS for a NAS?

Which OS for a NAS?

March 17, 2025

Ive been pretty much comfortable with these OS’s:

  1. Ubuntu LTS
  2. if you come from Windows: Zorin OS, Linux Mint, Linux lite…
  3. Garuda Linux
  4. If you miss XP, see https://xpq4.sourceforge.io/
  5. For apple users: ElementaryOS, Deepin or PearOS
  6. SelfHosting / network attached storage Focused: CasaOS, OpenMediaVault (OMV), Synology,…
Other Intersting Linux | Flatpak for All 📌
  • Whonix / Tails - Debian based
  • Qubes - Fedora based
#sudo apt update & sudo apt upgrade -y
sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

#flatpak install flathub io.gitlab.librewolf-community
#flatpak install flathub org.videolan.VLC
#flatpak install flathub com.brave.Browser
Customize Linux Visuals 📌
I love to start with the Garuda default wallpaper.

With Garuda, you unlock the superpower of saying: I use Arch, btw

Time to try something new?

But…Too many OS’s?

â„šī¸
Have a look to Ventoy to create ISO Multi-Boots

VPN

Its not the first time we talk about VPNs around here.

If you will be building a NAS, you might need one of these.

ip addr show | grep inet6 | grep -v ::1
  1. Pritunl - Enterprise Distributed OpenVPN and IPsec Server.

  2. Ex-gravitl: https://github.com/netbirdio/netbird

BSD-3

An based on wireguard: https://netbird.io/

Install a self-hosted VPN platform // Netbird with zitadel.

  • Tailscale - wireguard based
    • Headscale - for selfhosted server
  • NetBird - wireguard based
  • Netmaker - https://www.netmaker.io

Wireguard

Tailscale

tailscale status

#tailscale up --exit-node=jalcocert-x300
#tailscale up --exit-node=jalcocert-x300 --exit-node-allow-lan-access #--exit-node=<ip|name>

#tailscale down

Benchmarks

And also, you will want to see how much performance you NAS has.

How to Setup Quick Benchmarks 📌
curl -O https://raw.githubusercontent.com/JAlcocerT/Linux/main/Z_Linux_Installations_101/Benchmark101.sh
chmod +x Benchmark101.sh & ./Benchmark101.sh
sudo apt install hardinfo
lscpu

Testing the Memory

sudo apt install hwinfo
hwinfo --memory

sudo apt install sysbench
sysbench memory run

The x13 got ~8164 MiB/sec and the Pi 4 4GB ~175MiB/sec (x86)

Your server will most likely be in between.

â„šī¸

My Home Lab Setup

Whenever I start a fresh installation I make sure to follow my scripts:

git clone /Linux

cd Z_Linux_Installations_101
sudo bash Linux_Setup_101.sh #this will get you containers, browser and vscode

As of today, this is my homelab setup.

graph LR
    A[**Orange Pi 5** 
128GB] --USB3.0 --> B(1TB); A --USB3.0--> C(512GB); E[**Pixel 8 Pro**
128GB]; I[**Asrock X300**
1TB ] --USBc--> J(SSD Ext
2TB NTFS
650mb/s); I --USB3.0--> K(HDD Ext
2TB ); L[**ThinkPad x13**
500GB]; A --> Y[music server]; AA[Gdrive] --> I; AB[Protondrive!] --> I; AC[onedrive] --> L; style B fill:#f9f,stroke:#333,stroke-width:2px style C fill:#f9f,stroke:#333,stroke-width:2px style J fill:#f9f,stroke:#333,stroke-width:2px style K fill:#f9f,stroke:#333,stroke-width:2px

Which is connected to my family servers as well with Tailscale or Rustdesk if required

Networking for Home Lab

ifconfig
#ip a show wlp3s0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1
##ip a show eth0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1
###ip a show enp2s0 | grep "inet\b" | awk '{print $2}' | cut -d/ -f1
  1. Pi4 192.168.0.155 (4GB) and 192.168.0.232 (2GB) both via ethernet
  2. x300 Ethernet: 192.168.0.12
  3. x13 wifi 192.168.0.124

Containers

One of my favourite containers, are Cloudflared and FileBrowser

services:
  filebrowser:
    image: filebrowser/filebrowser
    container_name: filebrowser
    ports:
      - 8080:80
    volumes:
      - /mnt/crucial500/Docker/FileBrowser/config:/config
      - /mnt/crucial500/Docker/FileBrowser/data:/srv #same as Syncthing!
    restart: unless-stopped    

# networks:
#   nginx_nginx_default:
#     external: true

To use Cloudflare tunnels, you will need:

services:
  cloudflared:
    image: cloudflare/cloudflared:latest
    container_name: cloudflared
    command: tunnel --no-autoupdate run --token yourtokenhere
    networks:
      - tunnel
    restart: always

networks:
  tunnel:

Maintainance in Linux

  1. https://github.com/oguzhaninan/Stacer

GPL 3.0 | Linux System Optimizer and Monitoring - https://oguzhaninan.github.io/Stacer-Web

sudo add-apt-repository ppa:oguzhaninan/stacer
sudo apt-get update
sudo apt-get install stacer
  1. If you need a full format - Remember that with Ventoy, you can have them all in one usb drive

Better PKG management in Debian

From time to time you will need to make some clean up to keep things perfect.

Are you getting some error when doing apt update?

Then, just…

Linux BackUps

Proton Drive is cool…but it does not work out of the box for Linux.

Unless… you find this awsome Otterlord’s post

Recently when installing Gyroflow for better video edition the ubuntu on my x13 could not access the files.

And after reboot I could not access the system at all.

Thankfully, I got proper backup implemented!

or at least, one that worked.

You can try with: Syncthing, Nextcloud, WebDav…

But try something!


Conclusions

If you need UI to mange your server, but wont use it too much, Linux Lite and the ~600mb ram consumption is a great option.

You can try any other OS with virtualization

Termux S6 Lite

To get the power of arch btw, plus its complexity and a very cool UI, go for Garuda.

Its always great to take some time and make some home cleaning.

Maybe time to cancel some subscription tat you are not really using after you got a proper backup in place?

You can still use cloud VPS as complementary backup, or s3 buckets…

Where to get a VPS?

I got my account shut down without a reason

Nothing like selfhosting P2P programs…which was interesting. Customer service did not came back with a solution

Other

You can check from time to time: https://haveibeenpwned.com/

They also provide an API, which you would have to pay for.

Photo Video Management in a Server

  1. https://github.com/KDE/digikam
flatpak install flathub org.kde.digikam
  1. PhotoQT

  2. dupeGuru

sudo add-apt-repository universe
sudo apt install dupeguru-se

Cool Blogs Ive found recently

  1. https://selfhosted.show/
  2. https://selfh.st/
  3. https://theselfhostingblog.com/
  4. https://howitlooks.dev/
  5. https://www.reddit.com/r/selfhosted/?rdt=43112
  6. https://www.reddit.com/r/SelfHosting/
  7. https://akashrajpurohit.com/blogs/?ref=nav
  8. https://alternateoss.com/
  9. https://star-history.com/blog/knowledge-management

Interesting Software for Servers

If you are building software, check Komodo

  1. https://github.com/moghtech/komodo

đŸĻŽ a tool to build and deploy software on many servers đŸĻŽ

  1. https://github.com/safing/portmaster

🏔 Love Freedom - ❌ Block Mass Surveillance

You can also have a look to: ModSecurity, Naxsi, Open AppSec, SafeLine,…


FAQ

  1. https://gitlab.com/leinardi/gwe

System utility designed to provide information, control the fans and overclock your NVIDIA card

  1. https://github.com/libratbag/piper

GTK application to configure gaming devices (Like a logitech mouse!)

See also https://github.com/pwr-Solaar/Solaar

Linux device manager for Logitech devices

  1. https://gitlab.com/corectrl/corectrl

Profile based system control utility

sudo apt install corectrl

CoreCTL

Setup Nextcloud, Photo Tools
curl -O https://raw.githubusercontent.com/JAlcocerT/Linux/main/Z_Linux_Installations_101/Selfhosting_101.sh 
chmod +x Selfhosting_101.sh & sudo ./Selfhosting_101.sh
  1. Nextcloud Docker Compose
sudo flatpak install flathub com.nextcloud.desktopclient.nextcloud -y

See how quick you are transfering data:

#sudo apt install nload
nload
  1. Photo Tools

See how each Docker Service is consuming resources:

#htop
sudo docker stats nextcloud
#sudo docker prune

What do I look in a MiniPC?

  1. Removable RAM

  2. Removable SSD (nmve 2280 drive) and 2.5 expandable bay

  3. Low energy consumption, which can be measured with a smart plug

dpkg --print-architecture #ARM will tend to be more power efficient than x86

At the time of writing, my energy costs are ~0.28$/Kwh

  1. At least, 1 usb-c and >4 usb 3.0

  2. Wake on LAN capability (WOL)

Decentralized Storage

Centralization: Simplicity and Single Point of Failure

  • Some alternatives:
    • IPFS - an open system to manage data without a central server
    • Filecoin - an open-source cloud storage marketplace, protocol, and incentive layer.

Great intro video from Naomi on Decentralized Storage

Which resonates with this IPFS / web3 post