Up till now I’ve been running Debian on a 2008 Dell tower as my homeserver. I just got 2 1tb drives for it so I want to upgrade to an actual dedicated NAS software to simplify how I manage it. The problem is, I only have 4gb of RAM in it. Any recommendations?
Edit: For context, I mostly use the server for Nextcloud and Syncthing but I also want to be able to have a generic Debian server with ssh access available if I need it.
I haven’t used it, but maybe look at Cockpit? You could install it on your generic Debian server and it would give you a nice gui and tools, while letting you do whatever you are currently using it for.
I am using openmediavault for my NAS, which seems reasonably lightweight and is debian based. If that fits the bill
I’m currently trying out openmediavault on an old laptop and if that’s not markedly easier to use than Debian then I’ll try Cockpit.
My anecdotes: I have OMV the plugins and docker makes things easy, once you read about how things are meant to be setup. OMV5 had cockpit, portainer plugin/addon making things very simple. OMV6 did away with addin/plugin Portainer to try to make a better built in docker management interface; Which focuses more on compose files. Overall running OMV got me used to docker and eventually CLI management of them.
With SMB shares, DLNA, and several containers running I have never it the 4gig Limit of my Pi. (I actually have an old arm board with 256MB of RAM and use that with an old OMV release and idle it uses about 25% of that RAM, streaming audio gets the cpu up and RAM up but never past 256MB.
Why not just run TrueNAS Scale? It’s a NAS built on top of Debian?
Minimum RAM for TrueNAS is 8gb. I really should get more RAM though.
You technically can run on 4, but you won’t have much in the way of ZFS cache and forget about containers like nextcloud/syncthing. You’ll get NFS/SMB and rsync and that’s it.
My syncthing container consumes about 100 MB of RAM.
My bare TrueNAS consumes about 3.8 GiB of ram without any containers running and not counting cache.
Oh jeez, that’s terrible. What is using the RAM? I’m also consuming 3.7 GB (without buffers) but I have 21 containers running (Debian stable):
- Jellyfin and Deluge take the lion’s share out of that, about 85%.
- NPM, Navidrome, MySQL are the second-tier largest offenders but take 1/10th of the 1st tier together.
- BubbleUPnP Server, Scrutiny, Tailscale, Syncthing, Radicale, my VPN are 3rd tier, about 1/2 of 2nd tier.
- Then another ~10 containers with very little amounts of RAM per container (CUPS, Ntfy, my dev Nginx server etc.)
It is? Damn. I’m very much a newbie to TrueNAS. I thought it was high but had no basis of comparison. It’s a pretty fresh install. I installed jellyfin but shut it down, pending a memory upgrade to actually start using it.
Your storage is so small it’ll be fine
Well… Do you want it to be a dedicated NAS, or do you want a generic Debian server? Because those are pretty much mutually exclusive.
You probably want to just stick with Debian for running whatever, and then just present storage over smb, nfs, or whatever.
I think I could probably do with a NAS-type OS with a Debian container.
OpenMediaVault! It has a nice web UI and it’s Debian based. However the development cycle doesn’t always line up with Debian releases so sometimes it can take a few months to switch major versions.
First of all, 4 GB is not so bad, I ran with 4 GB on mine for years. In fact I’m still not using more than 4 GB even though I have more RAM now, it still takes 3.7 GB right now and I run 20 containers.
I don’t run Nextcloud though, and I don’t run VM’s. VM’s definitely would need more RAM, and I don’t know how much Nextcloud wants. Syncthing wants very little.
Think about why do you want a GUI, they don’t typically offer that much if you already know your way around Linux. And once you set up a container it will keep working indefinitely (until you upgrade it anyway, but that’s another kettle of fish).
You also don’t need anything fancy to put together a RAID1 out of those two disks, if that’s what you mean to do.
Pretty much any?
Headless distros won’t really differ in RAM usage. The only generic OS property that I could relistically see saving significant resources in this regard would be 32bit but that’s… eh.
What’s more important is how you utilize the limited resources. If you have to resort to containers for everything and run 50 instences of postgres, redis etc. because the distro doesn’t ship the software you want to run natively, that won’t work.
For NAS purposes and a few web services though, even containers would likely work just fine.
So you want to put one of those web management front ends on your existing server?
I’ve been tired with half-ass OSes like from Synology and QNAP that won’t do the job, and wanted to explore alternatives. I appreciate your post!
GhostBSD. It’s basically FreeBSD, but easier to use. Works really well on old PCs with low RAM, and it has packages for both NextCloud and SyncThing. And before you ask, yes it uses ZFS by default but it actually works fairly well on 4GB. In fact, you can even run it just fine using 2 gigs of RAM!
XigmaNAS
If you’d like a WebDAV server, I wrote one called Nephele that has a really small memory footprint. With a 4GB budget, you can run in cluster mode with probably 4 or 5 instances and not affect any of your other services.
If you install the NPM version, you can also authenticate with system users, so you can use it to manage the files in your home directory. (You could also do that with the Docker version, but only for one user.)