• 0 Posts
  • 67 Comments
Joined 1 year ago
cake
Cake day: July 7th, 2023

help-circle




  • Yeah, try to avoid using USB hard drives.

    A refurbished business PC is an excellent choice (or, better yet, make friends with someone who works in an IT department and grab a few machines when they’re being thrown out; you’d be amazed how often companies dump perfectly good hardware). Don’t worry about the windows license, you’re not actually paying for it by the time you get to refurb prices.

    You should easily be able to pick up something decent for under $200 (hopefully that fits your budget). If you go with a small form factor (not ultra small) you can probably get an SSD and two 3.5" drives in there (watch out for the small form factor Lenovos though, they only have one 3.5" slot). Alternatively, look for a larger desktop tower style that could have 3 or 4 drive bays if you want to do something like a RAID5.

    Don’t sweat too much about buying older hardware. What’s old and busted for Windows is lightning fast when we’re talking about self-hosting a file server or a Pihole.





  • Get to grips with Docker. OCI containers are the standard method of self hosting basically everything now, so once you’re comfortable with Docker and compose files, literally anything you could want to host is available as a drop in component for your system.

    An excellent way of playing around with Docker is to install Dockge. It’s a web UI with some really helpful features. First, it can convert Docker Run commands into compose files for you (once you start to play around with this it’ll be clear why that matters), and second, its very good at pointing out where and how you’ve made errors in your compose files. But most importantly, unlike Portainer (the most popular Docker UI) it works with the Docker command line rather than trying to replace it. With Dockge you know exactly where all of your files are and if any part of your setup breaks you can repair it very easily. It also doesn’t have Portainer’s problem of flashing error messages on the screen for 0.3 seconds then whisking them away. It exposes the entire Docker terminal output so your debugging process is much, much easier.

    You’ll also want to learn about reverse proxies (I reccomend Caddy for its unbelievably simple config file; an entire site is three lines). These are really important for serving multiple different services from one source.

    For anything that you can’t run in Docker, VMs are an acceptable solution, and LXC containers are a better solution, but one that requires a little more work to get to grips with (fun fact, LXC has its own web UI, which is fantastic, but almost nobody seems to even know it exists). Since you’re already familiar with Linux, you may want to ignore the suggestion to use Proxmox and just set up a server with your preferred flavour and go from there. All of this can be done with any modern Linux distro, so you might as well work in an environment you’re comfortable in.




  • A really nice budget option is an old Lenovo or HP mini PC. These days they make thin client style machines that are absolutely tiny, use about as much power as a small laptop, and still have decent spec.

    Storage wise, there’s room to fit a 2.5" drive inside, and newer ones have NVME slots. You can buy them real cheap from a refurb supplier as businesses are offloading them all the time.

    In the same vein, a HP, Lenovo or Dell small form factor tower PC will up your power consumption a little, but give you room for a couple of 3.5" drives as well as an SSD. That’s enough to look at putting in a 12TB mirrored RAID for some serious storage. You’ve also got low profile PCI slots, so you can fit a GPU for faster re-encoding in Jellyfin.






  • The previous comment is an excellent summary. It is worth noting that there are some type 1 hypervisors that can look like type 2s. Specifically, KVM in Linux (which sometimes gets referred to as Virt-manager, Virtual Machine Manager, or VMM, after the program typically used to manage it) and Hyper-V in Windows.

    These get mistaken for type 2 hypervisors because they run inside of your normal OS, rather than being a dedicated platform that you install in place of it. But the key here is that the hypervisor itself (that is, the software that actually runs the VM) is directly integrated into the underlying operating system. You were installing a hypervisor OS the whole time, you just didn’t realise it.

    The reason this matters is that type 1 hypervisors can operate at the kernel level, meaning they can directly manage resources like your memory, CPU and graphics. Type 2 hypervisors have to queue with all the other pleb software to request access to these resources from the OS. This means that type 1 hypervisors will generally offer better performance.

    With hypervisor platforms like Proxmox, Esxi, Hyper-V server core, or XCP-NG, what you get is a type 1 hypervisor with an absolutely minimal OS built around it. Basically, just enough software to the job of running VMs, and nothing else. Like a drag racer.




  • “How dare this business try to make money?!!”

    Open source still has to exist within the framework of capitalism. I am all for building the fully automated luxury gay space communist utopia where people just build awesome software and release it for free all the time without ever having to worry about paying the bills (seriously, I would encourage every open-source advocate to think about how much more awesome stuff we would have if universal basic income was a thing), but that is simply not the world we’re in right now. They need to keep the lights on, and that means advertising their paid services.