Self Hosting Noob, Freenas vs Ubuntu Server with Samba
Hi Everyone,
So, I am very new to self-hosting. A couple of years ago I set up a mini PC running Ubuntu Server with Nextcloud and Jellyfin on my network. Now I think I want to move away from Nextcloud as for me, uploading files to it hasn't been super reliable and it has been a little slow. It also seems to have a lot of features I really don't need.
At the moment, I basically use my server just for file storage, plus running Jellyfin. I think initially I went to nextcloud because I wanted a solution that would automatically sync my files to my network storage kinda like onedrive. However, Nextcloud on different systems doesn't work the same way and I basically ended up just manually copying everything over to Nextcloud and using it like a network drive. At that point, why even use nextcloud then? I would be better off with Sharing a folder using Samba right? Do you think that would be the best fit for my needs? Or should I learn about freenas? Taking a quick look at it I'm not sure what advantages it would have over just a samba share.
Edit: Thanks everyone! You've given me a lot to look into!
I'm not familiar with FreeNAS, but I see it's advantages mostly in it's gui and zfs support. So if you just need a few smb shares and don't need to constantly configure it, I'd go with Ubuntu.
If you have multiple disks that you can use in raid, then zfs might be a good idea for it's check summing capabilities and correction of bitrot.
But it's also possible to install zfs on Ubuntu, though you'd have to use the cli instead of FreeNAS gui. I've recently setup a zfs raid 1 for the first time and the cli is simple to understand and the docs are great.
So I'd stay with Ubuntu and just use samba directly.
FreeNAS is a deprecated version now. The successor (which is basically the same thing) is TrueNAS. They also have a version based purely on Linux called TrueNAS Scale. Both Community and Enterprise versions are available. The Community version is entirely free. It supports VMs through KVM and containerization, as well as all the network sharing options out there.
Another option is Proxmox. It's Debian based and is more focused on virtualization than storage, but it has whatever you would really need for storage (including full ZFS support). You might find yourself in the command line for some things with Proxmox over TrueNAS, but if you were willing to go full Ubuntu I imagine that wouldn't be an issue.
That being said, if you want to just go the manual route, then I suggest Debian. It's leaner and considered more stable than Ubuntu, and doesn't have some of the cruft that Ubuntu has (like Snaps), which may be a positive or a negative depending on what your needs are.
Edit: just to add, since you're going to run Jellyfin and Nextcloud on these systems, my recommendation is Proxmox as it has great tooling for managing VMs, like automatic backups. I personally run both Nextcloud and Jellyfin in their own VMs. I like the workflow of backing up the entire VM and being able to restore it to the exact state when it was saved. Containers require a bit more knowledge to run them to be truly stateless, and then you have to worry about backing up your stateful data (like configuration files, etc) separately.
Another vote for Debian stable. You can use Jellyfin's repos to get an up to date version and bookworm will be solid for years which is what you want out of an appliance. And when you are ready to upgrade from stable to stable, Debian handles in-place upgrades better than anything else out there.
I would never use anything other than ZFS. Proxmox is just Debian with a management UI. You can setup disks, volumes, etc, with the web UI. And whatever you can't do from there you can do via the shell or ssh like you would want other Linux system.
Core is based on frebsd, while scale is Debian. While scale is fun I’m still a core-fan.
Samba on a Debian box works as well if all you want is smb. But it’s a you made it you support it solution. On Truenas there’s loads of people making sure it’s secure and working and updating is a button.
I use syncthing to collect my data from several devices (smartphones and PC) to my server at home, when I am in my home network.
Then, on the server, rclone takes over with various daily/weekly tasks and syncs the stuff to my cloud storage. Some encrypted some plain. From my mobile or my pc I have access to all the data either at home or via vpn as well as directly to the cloud backup.