Is it a bad idea to use my desktop to self host?
What are the disadvantages?? Can they be overcome?
I use it primarily for programming, sometimes gaming and browsing.
Is it a bad idea to use my desktop to self host?
What are the disadvantages?? Can they be overcome?
I use it primarily for programming, sometimes gaming and browsing.
It’s a terrible idea - do it anyway. Experimentation is how we learn.
If you have a reasonably modern multi-core system you probably won’t even notice a performance hit. The biggest drawback is that you have a single thing that is holding all your eggs. So if an upgrade goes wrong, or you’re taking things down for maintenance then everything is affected. And there can be conflicts between required versions of libraries, OS, etc. that each service needs.
Separating services, even logically, is a good idea. So I’d recommend you use containers or VMs to make it easier to just “whelp, that didn’t work” and throw everything away or start from scratch. It also makes library dependencies much easier to deal with.
So I already host a lot of stuff on a raspberry pi 4B. But when I tried to host Jellyfin, encoding was trouble on it, so I used my desktop to host Jellyfin as a quick solution, but using sshfs from the raspberry pi to access the media files. So now I wonder, is it worth it moving Jellyfin to something else? Is it worth it moving the media files to the desktop?
Is it performing well as is? sshfs isn’t very high performance, but if it’s working it’s fine - nfs would likely perform better though. I run jellyfin in a vm with an nfs mount to my file server and it works fine. Interface is zippy and scanning doesn’t take too long. I don’t get GPU acceleration but the CPU on that system (10th gen i7 I think) is fast enough that I haven’t had much trouble with transcoding (yet).
It’s actually not bad, surprisingly. I have had issues sometimes, but they’re network issues related to my router. I haven’t had them in a while.
If it’s working - that’s fine. Creating dependencies can make things more complex (you now need two systems running for one service to work) - but also isolating ‘concerns’ can be beneficial. Having a single “file server” lets me re-build other servers without worrying about losing important data for example. It separates system libraries and configuration from application data. And managing a file-server is pretty simple as the requirements are very basic (Ubuntu install with nfs-utils - and nothing else). It also lets me centralize backups as everything on the file server is backed-up automatically.
Things can be as simple or as complex as you want. I will re-iterate that keeping a “one server per service” mindset will pay off in the long-run. If you only have your desktop and a Pi then docker can help with keeping your services well isolated from each other (as well as from your desktop).