I am interested in tech and would say I have more knowledge about networking than the average person, but there’s still a lot that’s way above my head. I’ve played around with Pis a little and have set up things like home assistant and foundry VTT before.

I got my hands on an old machine from work and want to upgrade it with some of my spare hardware, and ideally have it set up as my single home server. I would like to host plex, a few foundry servers, home assistant, and use it as a NAS. Basically combine everything I have right now into one more powerful machine.

Thing is… It feels really overwhelming to try and start. I’m not sure really sure how to go about the whole endeavor. What OS do I use? Do I use VMs, docker containers, is there pro or cons one way or the other? How can I make sure they’re all accessible from the web securely?

Is there anything you guys can tell me to get me started? Some resources to walk me along setting a multipurpose home server?

  • @[email protected]
    link
    fedilink
    12 years ago

    Just from personal experience, but here are a few thingd that worked for me:

    Get familiar with linux.

    You can do a lot with windows, but from an unattended/automation standpoint, getting to know Linux, especially command-line (bash) will be beneficial for many reasons, too many to name here, but a few is, Linux (usually) is a lot less resource hungry and it’s a lot more flexible than windows.

    The flavor (or distribution/distro) of Linux isn’t really all that important outside of stability and support. With that being said, I’m inclined to say the best flavor is the one you’re most comfortable with. You said you’ve played with raspberry pi’s, I believe their “default” Linux flavor is Raspbian which is based on the Debian distro. You can consider using Debian, or even Ubuntu Server. I would recommend the latter over the former simply because of its popularity, you’ll find many support articles/discussions online for things you’ll run into.

    Learn about containerization

    This isn’t mandatory, and may be over your head, but this will make installing (deploying) all your apps much easier with less of a headache, and with all the benefits of sandboxing/isolating your apps. You can find container images for just about any self-hosted services you want to install. The most popular form of containerization right now is called Docker.

    Keep things local until you are comfortable with exposing your server online.

    There are a lot of risks when opening your server and services beyond your Local Area Network. You can invite bad actors into your network, which can lead to irreparable harm to more than just your PCs. I would suggest keeping things local until you understand what you’re opening up to the internet and how.

    This isn’t the only way to jump in. Just the path I took. Albeit containerization happened much later, but i refuse to go back to hosting on bare metal once using docker and/or kubernetes.

    Hope this helps