Rendered at 18:54:30 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
drnick1 24 hours ago [-]
> So the NAS runs Kubuntu 24.04 with ZFS
My experience is similar. I no longer use dedicated NAS, firewall, or other exotic distributions. I run plain Debian, and add what I need through standard repo packages. My "NAS" is simply a Samba daemon. The same box runs countless other services including hostapd (WiFi), DNS (Unbound), an email stack (Postfix/Dovecot), multiple game servers, and Podman.
> everything else in Docker Compose
I would suggest Podman instead. It is far more secure by design (rootless) and is unable to silently alter the firewall's configuration.
Oxodao 10 hours ago [-]
> is unable to silently alter the firewall's configuration
I'd like more informations about this as I'm not too familiar with firewall setup but every time I tried to setup iptables / nft it was indeed bypassed by docker. Recently I found out in the docs that docker adds a DOCKER-USER table, isn't it enough to put your rules in it to prevent the outside world to reach containers ?
Gigachad 20 hours ago [-]
These days you can buy 4 bay USB-C hard drive enclosures which let you make a nas out of any mini pc. I 3D printed a 10 inch rack to put the mini pc, hard drive enclosure and switch in which keeps it all neat and looks kinda cool.
M95D 6 hours ago [-]
USB is unreliable.
I used btrfs raid0 on USB drives for more than a year. Every month or so, a drive would disconnect from the bus and immediately redetected as another device (sde->sdf). Btrfs does not auto-recover from this. The choices are 1) reboot and scrub, which recovers the missing drive without doing a full resync, but it needs a reboot (any hosted site is offline for 3 minutes) and scrub takes a long time reading in the background, or 2) run btrfs replace which doesn't need a reboot, but the full resync takes even longer than a scrub and increases wear if it's a ssd because it wipes everything and writes all data again.
dsr_ 6 hours ago [-]
I agree that USB is unreliable.
I will point out that if you use ZFS instead of btrfs, you can specify drives to be detected via their serial number names rather than their attachment points, so a reconnect will not require a reboot.
Still, don't depend on USB for anything meant to be permanently connected.
doubled112 4 hours ago [-]
USB is unreliable but it's working for me. I've had zero disconnects in a couple of years of using a Terramaster USB-C DAS. I've heard of the problems enough I've even searched logs for it.
I've wondered if my experience is different because I'm using single disks (but still ZFS) instead of any RAID. There is rarely transfer happening across all of the disks.
drnick1 15 hours ago [-]
Why not an old school case with an HDD cage that can hold anywhere between a few and a dozen drives? It would be cheaper and more flexible.
I do a similar thing. It really is functionally exactly the same, just a bit more piecemeal.
sotilrac 23 hours ago [-]
Interesting, I never tried Podman. Thanks for the suggestion!
unethical_ban 19 hours ago [-]
I find Proxmox to be a great host. It's Debian with a bunch of helper scripts/GUI to run containers and VMs. I manage ZFS outside the Proxmox bubble and run a privileged SMB server container to access it.
Though I really don't use the server anymore and it's probably worth several thousand dollars with the RAM in it. Been thinking of using a spare laptop with external HD bays to do the same job.
marysol5 7 hours ago [-]
Don't know what it is with Proxmox, but I always somehow managed to break it in such a way that I can't remove the container/VM or start it...
MayeulC 22 hours ago [-]
I am most interested in that DC power supply. I bought a similar one recently (rgeek brand on aliexpress), but haven't yet dared to connect it yet.
I'm wondering what:
- the failure mode is if it can't provide enough current.
- How to properly test it under a fake load
- If these tiny power cables can really handle 150 W (this is 12 A at 12V). I don't have such a powerful 12V PSU, so I am thinking about adding capacitors to handle transients.
I imagine that it is really built to handle transient peaks to 150 W, with a more reasonable baseline.
Anyway, if anyone knows a good knowledge source for these PSU, I'd be interested.
My initial motication for going with these was:
- hopefully increase my PSU efficiency
- less cable clutter
- hopefully power it from a small DC UPS (there are plenty of "router" UPS sold on the market, though the power rating is a bit low, 18-36 W usually).
M95D 6 hours ago [-]
I have a RK3588 SBC with 5 HDDs and with a good ATX power source it draws about 24-26W from the wall socket. I tried replacing that with a 5A 12V DC power brick and the power usage increased to 28-30W.
Measurements are not accurate, but comparable. I used a Tasmota smart plug - the same one in both cases.
sotilrac 22 hours ago [-]
The parts linked on the post are performing well. If you size them well, the main issue you can run into is inrush current when powering up. You may need a soft start circuit. I know I'm at the limit and may need to add a soft start if I add more fans.
Lammy 15 hours ago [-]
> The rest of the upgrade came out of my junk drawers. Two DDR4 sticks from an old laptop take the memory to the platform maximum of 32 GB
Realtalk: make sure you are religious about testing your RAM if you're going to run ZFS with non-ECC RAM. I'm not going to say “don't do it”, but know what you're getting into and how to protect yourself from this failure mode.
It's unintuitive, but ZFS will actually modify your files on disk as a side effect of a read-only operation if blocks get read into bad RAM and checksum mismatch compared to the blocks on disk.
This happened to me in 2013–14 with some bad PC3 10600 in my 2600K desktop FreeBSD system, and it rotted a bunch of my most frequently accessed files. I was able to figure out what was going on once audible blips started appearing in all of my favorite most-listened-to music, then I learned about `flac -t` and was able to confirm the rot thanks to the fact that FLAC files embed an expected MD5 digest in their `STREAMINFO` block. `man flac` sez…
“In test mode, flac acts just like in decode mode, except no output file is written. Both decode and test modes detect errors in the stream, but they also detect when the MD5 signature of the decoded audio does not match the stored MD5 signature, even when the bitstream is valid.” (emphasis mine)
[Lammy@popola] flac --test "Floating Door - Hypersomnia in loop - 12 templeOS.flac"
Floating Door - Hypersomnia in loop - 12 templeOS.flac: ok
[Lammy@popola] metaflac --show-md5sum "Floating Door - Hypersomnia in loop - 12 templeOS.flac"
d9ccdc78cfa45dda01b38198575b4f56
[Lammy@popola] flac --decode --stdout --silent --force-raw-format --endian=little --sign=signed "Floating Door - Hypersomnia in loop - 12 templeOS.flac" | md5
d9ccdc78cfa45dda01b38198575b4f56
After that experience, I moved my ZFS storage to a dedicated system — first on an Atom C2750 board and later (and currently) an Atom C3758, both with ECC UDIMMs. (Stay away from the C2xxx series tho; they are all doomed to CLK-circuit-degradation death which repairing only prolongs but does not prevent)
sotilrac 5 hours ago [-]
Author here: I've been taking a lot of interest in data corruption and preservation lately. Definitely will look into this. Thanks for the pointer!
dsk82 1 days ago [-]
Nice custom job, I use my old hardware too, it’s the perfect use case providing it’s relatively power efficient.
Not sure why they claim to have written the dashboard themselves though. It’s clearly vibe-coded, I did that too and mine is almost identical.
sotilrac 1 days ago [-]
Author here: totally used Claude. I meant it's a custom solution. I don't think anyone nowadays would write this type of HTML/CSS by hand; there's no point.
mrlonglong 22 hours ago [-]
Beware, Ubuntu are dropping ZFS. That's something that's annoyed me as that's now ruled out future upgrades
fghorow 19 hours ago [-]
Check out proxmox. Debian base with Debian apt repos available for standard stuff, with ZFS built into their kernels. Easy to install. And, if you insist on running TrueNAS (or whatever) just stash it in a container or KVM box.
(Edited to add: I forgot! ZFS on root available from the installer -- encrypted even if that's your jam.)
mrlonglong 11 hours ago [-]
Nice! Ta.
sotilrac 22 hours ago [-]
Totally, I had to build it from source to get the latest. Also, why I chose 24.04
rkagerer 14 hours ago [-]
Do you mean it's just dropping support for booting off ZFS?
unethical_ban 22 hours ago [-]
The only article I found with those keywords is that they are/were considering dropping ZFS /boot support in GRUB. If that is the case, they aren't removing ZFS support for non-boot drives.
kolli_kumar 9 hours ago [-]
It’s a HDD, so it’s ok if not CoW will kill your consumer SSD/NVMe sooner.
kolli_kumar 9 hours ago [-]
Also you can very well add Proxmox if you want to on top of Debian.
yjftsjthsd-h 23 hours ago [-]
> So the NAS runs Kubuntu 24.04 with ZFS,
I broadly approve, but why Kubuntu? Isn't it headless?
Lammy 14 hours ago [-]
Some server-focused programs pull in UI toolkits anyway. Take qBittorrent for example: I only use its web UI, but it's still a QT program, and on my OS of choice its package will try to pull in a bunch of display-related stuff by default unless one knows to use the “nox” package Flavor: https://cgit.freebsd.org/ports/tree/net-p2p/qbittorrent/Make...
sotilrac 23 hours ago [-]
When I first boot up the computer I didn't know what to expect, so I defaulted to my favorite distro and it stuck
classictraffic 23 hours ago [-]
That tiny touchscreen that shows metrics was an extremely nice touch. Fascinating read!
mindslight 1 days ago [-]
Re names, I like "homeprod". The main goal isn't to experiment and learn, and you're not scrapping to get a pair of Cisco 2501's to study for your CCNA. Rather the main goal is providing services that support your family's larger existence, independent of the surveillance industry - the tinkering is an (unfortunately necessary) side effect.
sfRattan 18 hours ago [-]
I very much like how the name "homeprod" contrasts against "homelab."
But I'm not as convinced as the article's author that "NAS" is outdated as a separate concept, just that as new people learn more about networking they rediscover why just having storage on in its own box can be a good setup. And when new people are brand new, having everything on one box is conceptually simpler, though not always optimal.
I think, in the family/household context, I like the names:
Homelab: the box/cluster you use to experiment and test new stuff.
Homeprod: the box/cluster you use to deploy stable services for family. Runs only things that have graduated from at least a yearlong successful deployment or so on homelab.
Homebase: the box/cluster you use to make ZFS pools and databases available to both homelab and homeprod (on the same network or overlay network). Basically a NAS in the older sense of the word, before homelabs started expanding its scope in casual use.
Famadmin: the sysadmin for the family (i.e. "you" in the three items above). The person to whom, as you say, "providing services that support your family's larger existence, independent of the surveillance industry," is a matter of deep principle. And well put, BTW.
mindslight 3 hours ago [-]
Putting aside the awesomeness of the term homebase, what exactly differentiates the base from the prod? Aren't those ZFS pools just production? Or something like an MQTT broker that supports home automation - you're likely running experimental devices/services over that as well, right? And to the extent that experimental MQTT or NAS traffic could inadvertently disrupt the production services, you could separate those out if you really cared. But that would still just be lab and prod.
Maybe the division is more apparent if you're using containers, and/or have more of a social group to communicate support levels to? Personally I'm just using NixOS and am still at the stage of "I'm going to reboot the router now, it might take ten minutes or it might take days" [0]
If we don't need this distinction, then perhaps "homebase" could actually make more sense than "homeprod" ? Slightly different connotations, less putting on a show for lots of people but more homey like for a small family?
[0] from a technical perspective I'd love to separate the router out onto its own machine, but I want fast wireguard/openvpn/TOR/etc so it's a VM on a larger machine and I'm not really looking to expand my power consumption footprint to another large machine. I suppose I could split it out to two routers, one with straight NAT+wireguard and one with openvpn/TOR/etc, then the main could run on its own low-power box.
sotilrac 24 hours ago [-]
Absolutely, I was running the server on my main desktop before this, and it was super stressful. One of the main drivers was to move things to something more stable. NGL, I still experimenton it though...
close04 1 days ago [-]
This is an underestimated part of operating IT infrastructure at home. Something a lot of homelab builders miss. They have a homelab that mixes in the same environment and same equipment the role of delivering standard services for the house and family, with the role of experimenting and toying around.
Everyone who builds this should really have "homeprod" and "homelab". And when the experiments and tests inevitably lead to an outage, the movie streaming or photo storage or home control parts don't die with it.
ismailperim 22 hours ago [-]
All homelabs need a DevOps Engineer :-D
close04 11 hours ago [-]
That doesn't save you from failure, just automates it :D.
bot403 1 days ago [-]
Hmmm. Only fans Linux service running?
crtasm 24 hours ago [-]
On the wifi requirement I just noticed unraid has added wifi support
1 days ago [-]
ghostly_s 22 hours ago [-]
I've noticed 3d printing people have this annoying habit of posting pics of their projects in just low enough res that you can't assess what the surface finish actually looks like. From what I can tell this "pebbled" finish looks uncommonly nice, I wonder if that's a byproduct of the glass fiber material or some post-processing.
sotilrac 22 hours ago [-]
Saving that precious GitLab Pages storage . I really liked the finish of the ABS GF from Bambu Lab. It matched the original case finish pretty well out of the printer. However, the glass fill is a bit scary; you can feel the fibers poking. I wiped it with a sturdy rag to remove the loose fibers.
whalesalad 22 hours ago [-]
This is great. I also avoid stuff like TrueNAS or Unraid and opt to simply run my own ZFS and smb/nfs/etc configuration. Love the unifi-style display... I am cooking something similar but it is not a touchscreen just a blue-on-black OLED that cycles through status pages. You've inspired me to finally write a post on my own setup.
justsomehnguy 14 hours ago [-]
> six drives spinning up at once pull about 125 W for a brief moment
My experience is similar. I no longer use dedicated NAS, firewall, or other exotic distributions. I run plain Debian, and add what I need through standard repo packages. My "NAS" is simply a Samba daemon. The same box runs countless other services including hostapd (WiFi), DNS (Unbound), an email stack (Postfix/Dovecot), multiple game servers, and Podman.
> everything else in Docker Compose
I would suggest Podman instead. It is far more secure by design (rootless) and is unable to silently alter the firewall's configuration.
I'd like more informations about this as I'm not too familiar with firewall setup but every time I tried to setup iptables / nft it was indeed bypassed by docker. Recently I found out in the docs that docker adds a DOCKER-USER table, isn't it enough to put your rules in it to prevent the outside world to reach containers ?
I used btrfs raid0 on USB drives for more than a year. Every month or so, a drive would disconnect from the bus and immediately redetected as another device (sde->sdf). Btrfs does not auto-recover from this. The choices are 1) reboot and scrub, which recovers the missing drive without doing a full resync, but it needs a reboot (any hosted site is offline for 3 minutes) and scrub takes a long time reading in the background, or 2) run btrfs replace which doesn't need a reboot, but the full resync takes even longer than a scrub and increases wear if it's a ssd because it wipes everything and writes all data again.
I will point out that if you use ZFS instead of btrfs, you can specify drives to be detected via their serial number names rather than their attachment points, so a reconnect will not require a reboot.
Still, don't depend on USB for anything meant to be permanently connected.
I've wondered if my experience is different because I'm using single disks (but still ZFS) instead of any RAID. There is rarely transfer happening across all of the disks.
Though I really don't use the server anymore and it's probably worth several thousand dollars with the RAM in it. Been thinking of using a spare laptop with external HD bays to do the same job.
I'm wondering what:
- the failure mode is if it can't provide enough current.
- How to properly test it under a fake load
- If these tiny power cables can really handle 150 W (this is 12 A at 12V). I don't have such a powerful 12V PSU, so I am thinking about adding capacitors to handle transients.
I imagine that it is really built to handle transient peaks to 150 W, with a more reasonable baseline.
Anyway, if anyone knows a good knowledge source for these PSU, I'd be interested.
My initial motication for going with these was:
- hopefully increase my PSU efficiency
- less cable clutter
- hopefully power it from a small DC UPS (there are plenty of "router" UPS sold on the market, though the power rating is a bit low, 18-36 W usually).
Measurements are not accurate, but comparable. I used a Tasmota smart plug - the same one in both cases.
Realtalk: make sure you are religious about testing your RAM if you're going to run ZFS with non-ECC RAM. I'm not going to say “don't do it”, but know what you're getting into and how to protect yourself from this failure mode.
It's unintuitive, but ZFS will actually modify your files on disk as a side effect of a read-only operation if blocks get read into bad RAM and checksum mismatch compared to the blocks on disk.
This happened to me in 2013–14 with some bad PC3 10600 in my 2600K desktop FreeBSD system, and it rotted a bunch of my most frequently accessed files. I was able to figure out what was going on once audible blips started appearing in all of my favorite most-listened-to music, then I learned about `flac -t` and was able to confirm the rot thanks to the fact that FLAC files embed an expected MD5 digest in their `STREAMINFO` block. `man flac` sez…
“In test mode, flac acts just like in decode mode, except no output file is written. Both decode and test modes detect errors in the stream, but they also detect when the MD5 signature of the decoded audio does not match the stored MD5 signature, even when the bitstream is valid.” (emphasis mine)
After that experience, I moved my ZFS storage to a dedicated system — first on an Atom C2750 board and later (and currently) an Atom C3758, both with ECC UDIMMs. (Stay away from the C2xxx series tho; they are all doomed to CLK-circuit-degradation death which repairing only prolongs but does not prevent)Not sure why they claim to have written the dashboard themselves though. It’s clearly vibe-coded, I did that too and mine is almost identical.
(Edited to add: I forgot! ZFS on root available from the installer -- encrypted even if that's your jam.)
I broadly approve, but why Kubuntu? Isn't it headless?
But I'm not as convinced as the article's author that "NAS" is outdated as a separate concept, just that as new people learn more about networking they rediscover why just having storage on in its own box can be a good setup. And when new people are brand new, having everything on one box is conceptually simpler, though not always optimal.
I think, in the family/household context, I like the names:
Homelab: the box/cluster you use to experiment and test new stuff.
Homeprod: the box/cluster you use to deploy stable services for family. Runs only things that have graduated from at least a yearlong successful deployment or so on homelab.
Homebase: the box/cluster you use to make ZFS pools and databases available to both homelab and homeprod (on the same network or overlay network). Basically a NAS in the older sense of the word, before homelabs started expanding its scope in casual use.
Famadmin: the sysadmin for the family (i.e. "you" in the three items above). The person to whom, as you say, "providing services that support your family's larger existence, independent of the surveillance industry," is a matter of deep principle. And well put, BTW.
Maybe the division is more apparent if you're using containers, and/or have more of a social group to communicate support levels to? Personally I'm just using NixOS and am still at the stage of "I'm going to reboot the router now, it might take ten minutes or it might take days" [0]
If we don't need this distinction, then perhaps "homebase" could actually make more sense than "homeprod" ? Slightly different connotations, less putting on a show for lots of people but more homey like for a small family?
[0] from a technical perspective I'd love to separate the router out onto its own machine, but I want fast wireguard/openvpn/TOR/etc so it's a VM on a larger machine and I'm not really looking to expand my power consumption footprint to another large machine. I suppose I could split it out to two routers, one with straight NAT+wireguard and one with openvpn/TOR/etc, then the main could run on its own low-power box.
Everyone who builds this should really have "homeprod" and "homelab". And when the experiments and tests inevitably lead to an outage, the movie streaming or photo storage or home control parts don't die with it.
https://en.wikipedia.org/wiki/Spin-up#SATA_and_PATA
Of course it's a lottery if it would work on a kitbashed homelab case.