Which OS for a NAS?
Ive been pretty much comfortable with these OS’s:
- Ubuntu LTS
- if you come from Windows: Zorin OS, Linux Mint,…
- Garuda Linux
- If you miss XP, see https://xpq4.sourceforge.io/
- For apple users: ElementaryOS, Deepin or PearOS
- 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 📌
With Garuda, you unlock the superpower of saying: I use Arch, btw
Time to try something new?
But…Too many OS’s?
VPN
Its not the first time we talk about VPNs around here.
ip addr show | grep inet6 | grep -v ::1
Pritunl - Enterprise Distributed OpenVPN and IPsec Server.
Ex-gravitl: https://github.com/netbirdio/netbird
BSD-3
based on wireguard
https://www.youtube.com/watch?v=_-vfSgqmOUI
Install a self-hosted VPN platform // Netbird with zitadel https://www.youtube.com/watch?v=_Fgwap-sl3A
- Tailscale - wireguard based
- Headscale - for selfhosted server
- NetBird - wireguard based
- Netmaker - https://www.netmaker.io
Wireguard
https://blog.frehi.be/2022/06/11/setting-up-wireguard-vpn-with-ipv6/ https://www.reddit.com/r/WireGuard/comments/178uolr/guide_how_to_set_up_wireguard_with_ipv6_in_docker/
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
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 most likely will 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
- Pi4 192.168.0.155 (4GB) and 192.168.0.232 (2GB) both via ethernet
- x300 Ethernet: 192.168.0.12
- 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
GPL 3.0 | Linux System Optimizer and Monitoring - https://oguzhaninan.github.io/Stacer-Web
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… https://blog.otterlord.dev/posts/proton-drive-rclone/
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
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?
- Hetzner, …
- https://lowendstock.com/
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
flatpak install flathub org.kde.digikam
PhotoQT
dupeGuru
sudo add-apt-repository universe
sudo apt install dupeguru-se
Cool Blogs Ive found recently
- https://selfhosted.show/
- https://selfh.st/
- https://theselfhostingblog.com/
- https://howitlooks.dev/
- https://www.reddit.com/r/selfhosted/?rdt=43112
- https://www.reddit.com/r/SelfHosting/
- https://akashrajpurohit.com/blogs/?ref=nav
- https://alternateoss.com/
- https://star-history.com/blog/knowledge-management
Interesting Software for Servers
🦎 a tool to build and deploy software on many servers 🦎
🏔 Love Freedom - ❌ Block Mass Surveillance
You can also have a look to: ModSecurity, Naxsi, Open AppSec, SafeLine,…
FAQ
System utility designed to provide information, control the fans and overclock your NVIDIA card
GTK application to configure gaming devices (Like a logitech mouse!)
Profile based system control utility
sudo apt install corectrl
How to check for duplicate images - dupeGuru
sudo apt install dupeguru
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
sudo flatpak install flathub com.nextcloud.desktopclient.nextcloud -y
#See how quick you are transfering data
#sudo apt install nload
#nload
See how each Docker Service is consuming resources:
#htop
sudo docker stats nextcloud
#sudo docker prune
What do I look in a MiniPC?
Removable RAM
Removable SSD (nmve 2280 drive) and 2.5 expandable bay
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
At least, 1 usb-c and >4 usb 3.0
Wake on LAN capability (WOL)


Decentralized Storage
Centralization: Simplicity and Single Point of Failure
Some alternatives:
Great intro video from Naomi on Decentralized Storage