this post was submitted on 24 Sep 2023
82 points (94.6% liked)

Selfhosted

39158 readers
408 users here now

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don't control.

Rules:

  1. Be civil: we're here to support and learn from one another. Insults won't be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it's not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don't duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

founded 1 year ago
MODERATORS
 

So, I am thinking about getting myself a NAS to host mainly Immich and Plex. Got a couple of questions for the experienced folk;

  • Is Synology the best/easiest way to start? If not, what are the closest alternatives?
  • What OS should i go for? OMV, Synology's OS, or UNRAID?
  • Mainly gonna host Plex/Jellyfin, and Synology Photos/Immich - not decided quite what solutions to go for.

Appricate any tips :sparkles:

top 50 comments
sorted by: hot top controversial new old
[–] [email protected] 25 points 11 months ago (2 children)

If you want a "setup and forget" type of experience, synology will serve you well, if you can afford it. Of you are more of a tinkerer and see yourself experimenting and upgrading in the future, then I recommend custom built. OMV is a solid OS for a novice, but any Linux distro you fancy most can do the job very well!

I've started my NAS journey with a very humble 1-bay synology. For the last few years I am using a custom built ARM NAS (nanopi m4v2), with 4-bays and running Armbian. All my services run on docker, I have Jellyfin, *arr, bitwarden and several other servicies running very reliably.

[–] [email protected] 4 points 11 months ago

And if you’re not sure how much of tinkering you want to do a Synology with docker support is a good option.

[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)

^ This. I have an M1 Mac mini running Asahi Linux with a bunch of docker containers and it works great. Run Jellyfin off of a separate stick PC running an Intel Celeron with Ubuntu Mate on it. Basically I just have docker compose files on those two machines and occasionally ssh in from my phone to sudo apt update && sudo apt upgrade -y (on Ubuntu) or sudo pacman -Syu (on Asahi) and then docker compose pull && docker compose up -d

[–] jws_shadotak 16 points 11 months ago (1 children)

Synology is generally a great option if you can afford the premium.

Unraid is a good alternative for the poor man. Check this list of cases to build in. I personally have a Fractal R5 which can support up to 13 HDD slots.

Unraid is generally a better bang for your buck imo. It's got great support from the community.

[–] [email protected] 3 points 11 months ago (1 children)

this. Op, look for a used Synology. It Just Works ™️

load more comments (1 replies)
[–] talentedkiwi 13 points 11 months ago (2 children)

I have proxmox on bare metal, an HBA card to passthrough to TrueNAS Scale. I've had good luck with this setup.

The HBA card is to passthrough to TrueNAS so it can get direct control of the drives for ZFS. I got mine on eBay.

I'm running proxmox so that I can separate some of my processes (e.g. plex LXC) into a different VM.

[–] [email protected] 5 points 11 months ago (1 children)

This is a great way to set this up. I'm moving over to this in a few days. I have a temporary setup with ZFS directly on Proxmox with an OMV VM for handling shares bc my B450 motherboard IOMMU groups won't let me pass through my GPU and an HBA to separate VMs (note for OP: if you cannot pass through your HBA to a VM, this setup is not a good idea). I ordered an ASRock X570 Phantom Gaming motherboard as a replacement ($110 on Amazon right now. It's a great deal.) that will have more separate IOMMU groups.

My old setup was similar but used ESXi instead of Proxmox. I also went nuts and virtualized pfSense on the same PC. It was surprisingly stable, but I'm keeping my gateway on a separate PC from now on.

[–] [email protected] 3 points 11 months ago (1 children)

If you can't pass through your HBA to a VM, feel free to manage ZFS through Proxmox instead (CLI or with something like Cockpit). While TrueNAS is a nice GUI for ZFS, if it's getting in the way you really don't need it.

[–] [email protected] 3 points 11 months ago (1 children)

TrueNAS has nice defaults for managing snapshots and the like that make it a bit safer, but yeah, as I said, I run ZFS directly on Proxmox right now.

[–] [email protected] 1 points 11 months ago (1 children)

Oh sorry for some reason I read OMV VM and assumed the ZFS pool was set up there. The Cockpit ZFS Manager extension that I linked has good management of snapshots as well, which may be sufficient depending on how much power you need.

[–] [email protected] 2 points 11 months ago

Good to know!

[–] [email protected] 2 points 11 months ago (1 children)

I’d love to find out more about this setup. Do you know of any blogs/wikis explaining that? Are you separating the storage from the compute with the HBA card?

[–] [email protected] 3 points 11 months ago (3 children)

This is a fairly common setup and it's not too complex - learning more about Proxmox and TrueNAS/ZFS individually will probably be easiest.

Usually:

  • Proxmox on bare metal

  • TrueNAS Core/Scale in a VM

  • Pass the HBA PCI card through to TrueNAS and set up your ZFS pool there

  • If you run your app stack through Docker, set up a minimal Debian/Alpine host VM (you can technically use Docker under an LXC but experienced people keep saying it causes problems eventually and I'll take their word for it)

  • If you run your app stack through LXCs, just set them up through Proxmox normally

  • Set up an NFS share through TrueNAS, and connect your app stack to that NFS share

  • (Optional): Just run your ZFS pool on Proxmox itself and skip TrueNAS

[–] [email protected] 2 points 11 months ago (3 children)

I already run proxmox but not TrueNAS. I’m really just confused about the HBA card. Probably a stupid question but why can’t TrueNAS access regular drives connected to SATA?

load more comments (3 replies)
[–] talentedkiwi 2 points 11 months ago

This is 100% my experience and setup. (Though I run Debian for my docker VM)

I did run docker in an LXC but ran into some weird permission issues that shouldn't have existed. Ran it again in VM and no issues with the same setup. Decided to keep it that way.

I do run my plex and jellyfin on an LXC tough. No issues with that so far.

[–] [email protected] 2 points 11 months ago (3 children)

So theoretically if someone has alrady set up their NAS (custom Debian with ZFS root instead of TrueNAS, but shouldn't matter), it sounds like it should be relatively straightforward to migrate all of that into a Proxmox VM, by installing Proxmox "under it", right? Only thing I'd need right now is some SSD for Proxmox itself.

load more comments (3 replies)
[–] [email protected] 11 points 11 months ago (1 children)

Just throwing out an option, not saying it's the best:

If you are comfortable with Linux (or you want to be come intimately familiar with it), then you can just run your favorite distribution. Running a couple of docker containers can be done on anything easily.

What you're losing is usually the simple configuration GUI and some built-in features such as automatic backups. What you gain is absolute control over everything. That tradeoff is definitely not for everyone, but it's what I picked and I'm quite happy with it.

[–] [email protected] 4 points 11 months ago (1 children)

Yeah already quite familiar, already got a server but looking for something more premium, but essentially deliver the most easy platforms for the rest of the family to use.

load more comments (1 replies)
[–] [email protected] 9 points 11 months ago (1 children)

My Synogy NAS was super easy to set up and has been very solid. Very happy with it. I’m sure there’s other solutions though.

[–] [email protected] 3 points 11 months ago

This was the route I went with when I started, and I've never had cause to regret it. For people near the start of their self-hosting journey, it's the no-hassle, reliable choice.

[–] [email protected] 8 points 11 months ago (6 children)

TrueNAS Scale is a pretty easy to use option (based on Debian) backed by the excellent ZFS file system.

load more comments (6 replies)
[–] [email protected] 7 points 11 months ago (2 children)

The most common software choices are TrueNAS and UNRAID.

Depending on your use-case, one is better than the other:

TrueNAS uses ZFS, which is great if you want to be absolutely sure the unreplaceable data on your disks is 100% safe, like your personal photos. UNRAID has a more flexible expansion and more power efficient, but doesn't prevent any bit flip, which is not really an issue if you only store multimedia for streaming.

If you prefer a hardware solution ready to use, Synology and QNAP are great choices so long you remember to use ZFS (QNAP) or BTRFS (Synology) as filesystem.

[–] PurpleTentacle 5 points 11 months ago* (last edited 11 months ago) (1 children)

Unraid 6.12 and higher has full support for ZFS pools. You can even use ZFS in the Unraid Array itself - allowing you to use many, but not all, of ZFS extended features. Self healing isn't one of those features, though, it would be incompatible with Unraid's parity approach to data integrity.

I just changed my cache pool from BTRFS to ZFS with Raid 1 and encryption, it was a breeze.

I generally recommend TrueNAS for projects where speed and security are more important than anything else and Unraid where (hard- and software-)flexibility, power efficiency, ease of use and a very extensive and healthy ecosystem are more pressing concerns.

[–] [email protected] 3 points 11 months ago

Oh that's great to hear. Thank you for sharing.

[–] [email protected] 3 points 11 months ago* (last edited 11 months ago) (2 children)

Do either of them matter in terms of life of the hardisks? My server just had one of its HDDs reach EoL :| Kind of want to buy something that will last a very long time. Also, not familiar with ZFS, but read that Synology uses Butterfs - which always sounds good in my ears, been having a taste of the filesystem with Garuda on my desktop.

[–] [email protected] 3 points 11 months ago (1 children)

Yes, ZFS is commonly known for heavy disk I/O and also huge RAM usage, the rule used to be "1GB of RAM for every TB of disk" but that's not compulsory.

Meanwhile, about BTRFS, keep in mind that Synology uses a mixed recipe because the RAID code of BTRFS is still green and it's not considered production ready. Here's an interesting read about how Synology filled the gaps: https://daltondur.st/syno_btrfs_1/

[–] [email protected] 2 points 11 months ago

The only place ZFS seems to use a sizable amount of RAM is for the arc memory cache system which is an really nice feature when you have piles of small file access going on. For me some of the most high access things are the image stores for lemmy and mastodon that combine up to just under 200GB right now but are some crazy high number of files. Letting the system eat up idle ram to not have to pull all those from disk constantly is awesome.

[–] [email protected] 2 points 11 months ago

Something kind of unique about UnRaid is the JBOD plus parity array. With this you can keep most disks spun down while only the actively read/written disks need to be spun up. Combine with an SSD cache for your dockers/databases/recent data and UnRaid will put a lot less hours(heat, vibration) on your disks than any raid equivalent system that requires the whole array to be spun up for any disk activity. Performance won’t be as high as comparably sized RAID type arrays, but as bulk network storage for backups, media libraries, etc. it’s still plenty fast enough.

[–] [email protected] 5 points 11 months ago (1 children)

Do you have any old hardware that doesn't have a job? That is a great place to start. Take some time try out different solutions (proxmox, unraid, casa OS). Then as you nail down your needs you can better pick hardware.

load more comments (1 replies)
[–] [email protected] 4 points 11 months ago (2 children)

I use UNRAID, I didn’t want to pay for a license originally but having the option to mix and match drives and have redundancy is nice.

I also use the built in docker feature to host most of my services.

[–] [email protected] 2 points 11 months ago (1 children)

I run most of my stuff on k8s, but I really enjoy simple docker ecosystem of apps that home assistant supervisor provides. Unraid app approach looks similar, preconfigured and working together. Even thou I don't need fancy nas, I might try unraid just to evaluate apps ecosystem. How to u find their community apps?

[–] [email protected] 2 points 11 months ago

I usually search thru the apps and they install as docker containers, I can edit the configs after the fact, it’s pretty nice. There’s also a terminal so I can run regular docker commands too.

[–] PurpleTentacle 2 points 11 months ago (1 children)

Unraid is also awesome for places with high energy cost: Unlike with your typical RAID / standard NAS, it allows you to spin down all drives that aren't in active use at a relatively minor write speed performance penalty.

That's pretty ideal for your typical Plex-server where most data is static.

I built a 10HDD + 2SSD Unraid Server that idles at well below 30W and I could have even lowered that further had I been more selective about certain hardware. In a medium to high energy cost country, Unraid's license cost is compensated by energy savings within a year or two.

Mixing & matching older drives means even more savings.

Simple array extension, single or dual parity, powerful cache pool tools and easily the best plugin and docker app store make it just such a cool tool.

load more comments (1 replies)
[–] [email protected] 2 points 11 months ago (1 children)

Do people not like TrueNAS?

[–] Voroxpete 5 points 11 months ago (2 children)

It's fine, but it's really only good as a NAS. BHyve is a terrible virtualization platform. With something like Open Media Vault you get access to KVM, which is a much better way to run a virt or two on the side.

load more comments (2 replies)
[–] [email protected] 2 points 11 months ago* (last edited 11 months ago) (3 children)

I've found CasaOS to be the simplest to set up and get going. I tried TrueNAS for a year, but wish I had started with CasaOS.

load more comments (3 replies)
[–] [email protected] 2 points 11 months ago

I have a qnap. I have had no issues. It runs its own qts OS so no need to figure out what you want to run. Make sure the hardware is x86. Plex runs better on x86.

[–] [email protected] 2 points 11 months ago

First I chose a Pi now am using a Nuc as a NAS.
Reason for why: The price was too much for a synology + transcode capable CPU as it wasmt clear what type of processor was being used.

[–] [email protected] 2 points 11 months ago (1 children)

Unraid is great. Don't let the FOSS heads say otherwise.

I paid $100 3 years ago, ONCE. Best purchase I've ever made.

I've tried the foss alternatives after getting familiar with unraid, and I still prefer unraid.

load more comments (1 replies)
[–] [email protected] 2 points 11 months ago* (last edited 11 months ago)

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer Letters More Letters
ESXi VMWare virtual machine hypervisor
LXC Linux Containers
NAS Network-Attached Storage
Plex Brand of media server package
RAID Redundant Array of Independent Disks for mass storage
SATA Serial AT Attachment interface for mass storage
SSD Solid State Drive mass storage
SSH Secure Shell for remote terminal access
k8s Kubernetes container management package

[Thread #164 for this sub, first seen 24th Sep 2023, 20:25] [FAQ] [Full list] [Contact] [Source code]

[–] cesium 2 points 11 months ago

I wouldn't recommend a Synology NAS if you intend to stream content with Plex/Jellyfin. It simply lacks the horsepower most of the time. I should just go with a DIY solution, imo. If you just want to through components that you have lying around together, I would go with Unraid. Unraid doesn't really care what you throw at it hardware wise.

[–] [email protected] 2 points 11 months ago

A NAS serves data to clients; I know this is tilting conventional wisdom on it's head but hear me out: go for the most inexpensive, lowest power storge-only-NAS that you can tolerate, and instead...put your money into your data transport (network) and into your clients..

As much as possible, simplify your life - move processing out of middle tiers, into client tiers.

load more comments
view more: next ›