this post was submitted on 01 May 2024
40 points (91.7% liked)

Selfhosted

40329 readers
421 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
 

Initial Thoughts

Hello friends!

This is something that's been muddling around in my mind for a bit, in part because I now have a decent collection of DVDs, and I am starting get a digital collection of shows that are a bit hard to find. I'm also interested in the fact that there's a TubeArchivist plugin for Jellyfin, as media archival interests me and YouTube is starting to suck with Google's position on ad-blocking. It would be nice to be able to access this stuff anywhere as well, so creating a media/Jellyfin server seems like a good solution.

Thing is I'd rather have a physical server than pay a bunch of monthly fees for VPS hosting. Not knocking it of course, but on top of monthly fees I also have my skepticism about VPS hosts and if they're sharing data with people regarding my use of their service.

Completely wishful thinking setup

I'm not so much of a hardware guy as I am a software guy, funnily enough, but to give you an idea of what I would like here's my admittedly wishful thinking of what I'd like for a setup:

  • DragonflyBSD as the server OS, utilizing it's HAMMER2 filesystem and swapcache as I've heard great things about those.
  • Jellyfin, obviously.
  • NVMe SSD storage with some level of RAID.
  • Intel GPU, as I've heard they're very good at video decoding, but I've not looked into evidence of this.
  • Whatever CPU and RAM I can get good performance out of without wasting money.
  • Add it to the Wireguard network so I can watch stuff anywhere.

A few things with this:

  1. I don't know how up-to-date DragonflyBSD's dport of Jellyfin is, but maybe this is something worth contributing to.
  2. God only knows if the new Intel graphics card drivers work well on the BSDs. I know all of the BSDs basically just pull from the official Linux firmware for graphics (I think?).
  3. I'd have to figure out if any other hardware would not play well with DragonflyBSD, probably not too big of an issue but it's still something to look out for.
  4. Cost of hardware.

Wrap up

Overall it probably be just me and my wife who would use the server, mostly me. Maybe some immediate family, a few friends, maybe down the line use it for kids when we have them.

What are your recommendations?

top 50 comments
sorted by: hot top controversial new old
[–] just_another_person@lemmy.world 13 points 6 months ago (1 children)

If you really want Intel, just get an N100 or N300. Low power, Intel HW transcoding on iGPU on Linux kernels 6.3+, and can handle Jellyfin no problem. You can get a minipc with everything you for $175 for a no name brand, or maybe $250 for a more well-known brand.

[–] AlecStewart1st@lemmy.world 4 points 6 months ago (3 children)

If you really want Intel, just get an N100 or N300. Low power, Intel HW transcoding on iGPU on Linux kernels 6.3+, and can handle Jellyfin no problem.

Didn't think about that either. I'm finding I didn't give this as much thought as I should've.

You can get a minipc with everything you for $175 for a no name brand, or maybe $250 for a more well-known brand.

But why do that when I could spend +$600? 😜

[–] entropicdrift@lemmy.sdf.org 3 points 6 months ago (1 children)

If you're gonna spend that level of money, you may as well go for an M1 Mac Mini. MacOS is a Unix flavor and in the new 10.9 version of Jellyfin it actually has the best hardware transcoding support. The M-series chips are video processing beasts for the money/electricity

[–] AlecStewart1st@lemmy.world 2 points 6 months ago

If you’re gonna spend that level of money, you may as well go for an M1 Mac Mini.

I was joking. I don't feel like shelling out $600 for a starting media server.

[–] TedZanzibar@feddit.uk 2 points 6 months ago

I just recently put in an N100 mini PC to run as a Plex server. Cost me about £160, pulls all of 6W when idle, and it doesn't break a sweat when transcoding no matter what I throw at it. As a media server I can't recommend them highly enough.

[–] just_another_person@lemmy.world 1 points 6 months ago

I have a few random brand ones that run just fine. Just keep backups.

[–] Moonrise2473@feddit.it 12 points 6 months ago (1 children)

intel gpu = any integrated graphics from any intel cpu made in the last 8 years. This includes those crusty $10 celerons, don't need a dedicated intel arc gpu (unless you're streaming to dozens users at the same time)

detail of supported formats https://en.wikipedia.org/wiki/Intel_Quick_Sync_Video

[–] kevincox@lemmy.ml 5 points 6 months ago

Although getting something that supports AV1 hardware decoding could be forward thinking. For now you are probably fine without it and if you are ripping DVDs you may consider just keeping the original encoding. But most likely you will start to see more AV1 files coming in the future, and having a server that can transcode AV1 to older formats easily will keep everything on your network working properly.

[–] loutr@sh.itjust.works 10 points 6 months ago* (last edited 6 months ago)

As it seems nobody's linked it yet, have you read Jellyfin's hardware selection page? They go into great details about which HW features are required/desired.

In my case I'm running it on a NUC with an i3 8109U + 16GB RAM, it runs great with 2 or 3 transcoding jobs at once. Media are stored on 5400-RPM HDDs.

[–] AtariDump@lemmy.world 8 points 6 months ago (1 children)

Why NVME for storage? Why not NVME for OS and Hard Drives for storage?

[–] AlecStewart1st@lemmy.world 2 points 6 months ago (1 children)

Great point. I don't know why I didn't think about that.

[–] kevincox@lemmy.ml 4 points 6 months ago (1 children)

Video serving is a very sequential workload so hard drives will be more than sufficient and you can typically get storage at a lower price.

SSD may give you slightly faster start and seeking but it is unlikely to be noticeable.

[–] niemcycle@lemmy.world 1 points 6 months ago

Agreed, you're probably going to run into network bottlenecks before storage read times become an issue

[–] AtariDump@lemmy.world 6 points 6 months ago* (last edited 6 months ago) (5 children)

If all you’re looking to do is setup a Jellyfin server that won’t do any transcoding, you could very easily use a raspberry pi with an external Hard Drive.

https://xyproblem.info/

[–] AlecStewart1st@lemmy.world 7 points 6 months ago (3 children)

Ah, okay. So, if I understand correctly, unless I'm trying to have Jellyfin do what YouTube does with offering multiple resolutions and bitrates for video, I don't need to bother with looking for a GPU that's good at video transcoding?

[–] atzanteol@sh.itjust.works 8 points 6 months ago

Or streaming to a device that doesn't support your encoding. Something like an android tv that isn't as flexible and may need on the fly transcoding. You can be careful to select a well supported encoding on the server if needed.

[–] kevincox@lemmy.ml 6 points 6 months ago

If you want to serve multiple resolutions and bitrates you will probably want hardware that can do transcoding. However basically any graphics card (even integrated) will be able to transcode a video stream in real-time at a decent quality.

(If you wanted you can try to pre-transcode offline, but Jellyfin doesn't support this well)

[–] AtariDump@lemmy.world 1 points 6 months ago* (last edited 6 months ago) (1 children)

Pretty much, so long as your clients support the ~~bitrate and resolution. (As others have said)~~ see below

[–] ShepherdPie@midwest.social 3 points 6 months ago

It's not the bitrate and resolution it's the video and audio codecs that need to be supported.

load more comments (4 replies)
[–] possiblylinux127@lemmy.zip 6 points 6 months ago

Don't do this

Install a stable Linux distro and then setup Jellyfin. I would recommend a minipc with an Intel CPU for hardware acceleration. If you are feeling spicy you could use Podman

[–] hperrin@lemmy.world 5 points 6 months ago* (last edited 6 months ago) (1 children)

Basically anything will work if you pop an Intel A380 in there and set up hardware encoding.

Honestly, a decently fast CPU with QuickSync will work just fine without a GPU. Something like a mini PC with an Intel N100 would work great.

There’s also no reason to use an NVMe RAID. Either just buy a big NVMe or use a HDD raid. Either way, have a backup solution if that’s what you’re going for, cause RAID is not backup.

As far as BSD, I have no idea if that will work. I guess if it runs Docker, you can use the Jellyfin Docker image. What makes you want to use it over Linux?

[–] AlecStewart1st@lemmy.world 1 points 6 months ago (1 children)

It's the interest in how well the HAMMER2 filesystem works for everyday storage, as well as how swapcache performs. Not much besides that, plus I've generally decent experiences with Net and OpenBSD.

https://www.dragonflybsd.org/performance/

[–] hperrin@lemmy.world 2 points 6 months ago

I don’t think that should worry you for what you want to do with it. Ext4 or btrfs will work fine for your use case.

[–] pyrosis@lemmy.world 5 points 6 months ago (1 children)

Hardware support can be a bit of an issue with bsd in my experience. But if you're asking for hardware it doesn't take as much as you may think for jellyfin.

It can transcode just fine with Intel quic sync.

So basically any moden Intel CPU or slightly older.

What you need to consider more is storage space for your system and if your system will do more than just Jellyfin.

I would recommend a bare bones server from super micro. Something you could throw in a few SSDs.

If you are not too stuck on bsd maybe have a look at Debian or proxmox. Either way I would recommend docker-ce. Mostly because this particular jellyfin instance is very well maintained.

https://fleet.linuxserver.io/image?name=linuxserver/jellyfin

[–] AlecStewart1st@lemmy.world 1 points 6 months ago (1 children)

If you are not too stuck on bsd

Not really. It's more out of the curious of how DragonflyBSDs HAMMER2 filesystem works. I've good things about it and ZFS on FreeBSD. ZFS on Linux I've heard is still getting up to where it is on FreeBSD.

[–] pyrosis@lemmy.world 1 points 6 months ago

That's somewhat true. However, the hardware support in bsd especially around video has been blah. If you are interesting in playing with zfs on linux I would recommend proxmox. That particular os is one of the few that allows you to install on a zfs rpool from the installer. Proxmox is basically a debian kernel that's been modified a bit more for virtualization. One of the mods made was including zfs support from the installer.

Depending on what you get if you go the prox route you could still install bsd in a vm and play with filesystem. You may even find some other methods to get jellyfin the way you like it with lxc, vm, or docker.

I started out on various operating systems and settled on debian for a long time. The only reason I use prox is the web interface is nice for management and the native zfs support. I change things from time to time and snapshots have saved me from myself.

[–] lightrush@lemmy.ca 4 points 6 months ago* (last edited 6 months ago) (1 children)
  • Lenovo ThinkCentre / Dell OptiPlex USFF machine like the M710q.
  • Secondary NVMe or SATA SSD for a RAID1 mirror
    • Use LVMRAID for this. It uses mdraid underneath but it's easier to manage
  • External USB disks for storage
    • WD Elements generally work well when well ventilated
    • OWC Mercury Elite Pro Quad has a very well implemented USB path and has been problem-free in my testing
  • Debian / Ubuntu LTS
  • ZFS for the disk storage
  • Backups may require a second copy or similar of this setup so keep that in mind when thinking about the storage space and cost

Here's a visual inspiration:

[–] AlecStewart1st@lemmy.world 1 points 6 months ago (4 children)

Is ZFS on Linux getting better? I've heard mixed things. I use BTRFS on my daily driver, and I really like (ab)using the file compression with zstd.

load more comments (4 replies)
[–] mipadaitu@lemmy.world 4 points 6 months ago (1 children)

Feels like some of that stuff, like the SSD's are a bit overkill for a media server. Most of them still use spinning disks to maximize size vs. cost.

Additionally, the CPU/GPU needs of a media server are pretty minor, unless you need to transcode on the fly, and even then, single streams aren't very intensive either.

So unless you're capping the outgoing bandwidth to multiple external sources, you're most likely just streaming the video source as-is to the destination, which just needs a stable network stream. If you don't need to transcode at all, you don't really even need a GPU on the hardware.

[–] AlecStewart1st@lemmy.world 1 points 6 months ago (2 children)

I'm beginning to realize I haven't looked into this as much as I should've. 😅 So for most people, with what @AtariDump@lemmy.world has mentioned, a raspberry pi with 1 or multiple hard drives (if you really want) is a good start.

[–] mipadaitu@lemmy.world 4 points 6 months ago (1 children)

Price in a backup solution too, you don't want to have all your movies disappear because of one hard drive crash, or an accidental reformat gone wrong.

RAID is not a backup.

[–] AlecStewart1st@lemmy.world 3 points 6 months ago (1 children)

Good point. So what we're really talking about then is

  • something like a raspberry pi
  • 1 or 2 hard drives for base storage
  • 1 external hard drive as a backup
[–] mipadaitu@lemmy.world 3 points 6 months ago (1 children)

That would be a great platform to start with.

[–] AtariDump@lemmy.world 1 points 6 months ago
[–] AtariDump@lemmy.world 1 points 6 months ago

Hey, it happens. That’s why it’s great to be able to ask others for suggestions :)

[–] Fedegenerate@lemmynsfw.com 2 points 6 months ago* (last edited 6 months ago)

Aoostar n100 2 Bay nas is what I'm currently thinking about. Or the same device but rebadged.

Pros: n100 for quicksync. 2 bays of HDD for media storage. Low power at idle. Cheap for a box with all relevant codecs + sata storage. High WAF compared to other HTPCs

Cons: Unknown brand for build quality and bios updates. General Chinese security anxieties. Idle power, while low, is higher than other n100 options. Fan isn't pwm. Personally don't like the aesthetics.

[–] Moonrise2473@feddit.it 2 points 6 months ago (1 children)

nvme for videos seems expensive for nothing, unless you are serving 4k videos over a 10gbit connection to multiple users

[–] AlecStewart1st@lemmy.world 1 points 6 months ago

I mean, right now, that's definitely not on the table.

4K would be nice, obiviously, but I don't think I myself am to act nor do I want to act as the alternative to Plex for a bunch of family and friends. 😆

[–] catloaf@lemm.ee 2 points 6 months ago (1 children)

I don't think anyone here would recommend BSD, but since your requirements are low you could run that on pretty much anything, including a relatively recent surplus PC.

[–] AlecStewart1st@lemmy.world 1 points 6 months ago (1 children)

I don’t think anyone here would recommend BSD

I'm guessing this is due to issues of support, compared to Linux?

[–] entropicdrift@lemmy.sdf.org 1 points 6 months ago

Yeah. Linux, Mac, and Windows are all officially supported by the Jellyfin server project. Everything else is not.

[–] Decronym@lemmy.decronym.xyz 2 points 6 months ago* (last edited 6 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
DNS Domain Name Service/System
LTS Long Term Support software version
NAS Network-Attached Storage
NFS Network File System, a Unix-based file-sharing protocol known for performance and efficiency
NUC Next Unit of Computing brand of Intel small computers
NVMe Non-Volatile Memory Express interface for mass 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
VPN Virtual Private Network
ZFS Solaris/Linux filesystem focusing on data integrity

[Thread #732 for this sub, first seen 1st May 2024, 16:05] [FAQ] [Full list] [Contact] [Source code]

[–] rambos@lemm.ee 1 points 6 months ago (1 children)

Im no expert, but will share my experience. I used to host (2 years) on rpi4 4GB and can't recommend because it was painfull with USB drives. It works fine for many peeps, but I ended up using it as 2nd DNS server.

Eventually I built DIY desktop PC (a year ago) with celeron G3930 (with quick sync) and no GPU. Runs perfectly fine for multiple 1080p streams, but I never tried 4k. Its dirt cheap hardware and its much better than rpi (imo) because it has sata ports. It runs 30-40 services ans drains around 30W (with 2 SSDs and 1 HDD) from the wall

[–] possiblylinux127@lemmy.zip 1 points 6 months ago

Just make sure to use hardware acceleration

[–] Appoxo@lemmy.dbzer0.com 1 points 6 months ago* (last edited 6 months ago)

What I personally use and what I plan to do. Maybe it's worth something for you:

Currently in production:

  • Intel Nuc 11th gen i5-1135G7 wirh 8gb single Sodimm
  • Storage: 8TB external hdd via USB 3.0
  • OS: Debian with OMV6
  • Jellyfin running in docker. Media is organized with the *arr suite

HW transcoding is fine for single 4K HDR -> 1080p but I probably misconfigured something and it could be better or the linuxserver container is bad.
Don't care enough to fix it :p

Planned in the future:

  • Ugreen DX4800+ NAS as NFS or iSCSI storage with 8-10TB of Raid1 (for now) storage.

Btw: This is my hardware (literal) stack :)

load more comments
view more: next ›