Please bear with me as I don’t know where else to ask.

I want to start to self host but do not know where to start. I would like to start small. Just something that might not be beneficial but to get my feet wet. It does not even have to be practical.

I am not tech illiterate and have my fair share of technology around me hut self hosting has always been a daunting task.

I am scared to start.

I am already using a PiHole at home but that was kind of plug and play and just worked.

I would be incredibly grateful if someone could guide me to some resource or tell me what an easy first step would be.

An FAQ or self hosting for dummies.

Most resources I found assumed some previous knowledge.

  • papertowels@mander.xyz
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 hours ago

    Louis Rossman, a strong advocate for the right to self-repair, has an extensive, bottom to top guide on self hosting your own services. It starts from introducing what a modem is and what role it plays, and it ends with an entirely self hosted cloud. It comes in article as well as 13 hour video form. I would highly recommend this to anyone looking to get started self hosting - it doesn’t just introduce software you should learn, but it also shows you how to configure it.

  • happydoors@lemm.ee
    link
    fedilink
    English
    arrow-up
    2
    ·
    3 hours ago

    I will go even ONE step further than others - if you are scared to start a software like Truenas scale that has a GUI has helped me. A lot of the options offered by others are great but can require a lot of command line stuff. There are a few OS’s out there that are more point and click that I had a lot of success with. Truenas scale runs the docker containers that others are recommending.

  • Kane@femboys.biz
    link
    fedilink
    English
    arrow-up
    2
    ·
    11 hours ago

    First of all: take a breath!

    Pihole is a great start, and an awesome piece of software. As self-hosting is quite broad, there are quite a few options, so I have two suggestions that should still be relatively simple to continue with, and that I thoroughly enjoyed when getting started.

    1. Webservers: Something like Caddy, NGINX or Apache (Caddy being likely the simplest choice here), will allow you host your own website! If you open a port on your router, this website can also be accessed remotely (be careful! Without SSL, you should not expose any forms, to avoid those being leaked). A bit outside the realm of “self-hosting” — but Cloudflare allows you to setup SSL with relative ease and also allows you to link a domain your website.
    2. Game Servers: Many options in this space, so take a pick for a game you like! I am an avid minecraft enjoyer, and regularly setup modded servers to play with my friends. You can find some more info here on how to get started with a Minecraft server implementation called “Fabric”

    Have fun! And if there is something more specific you’re curious about, feel free to ask 😀

  • wer2@lemm.ee
    link
    fedilink
    English
    arrow-up
    11
    ·
    1 day ago

    A lot of people recommend Docker, but I will go further and say to specifically use Docker compose.

    That way all the configuration is in a file that you can backup/restore. Updating is really easy, and you will never forget one of the random flags you need to set.

    • PiHole - you can use the custom DNS to route domain names to you npm
    • npm (Nginx proxy manager) - allows easy access to all your services hosted on one box
    • Bronzie@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 day ago

      I agree, but want to add Portainer. Compose in Portainer takes away the scary SLI/Terminal part.

      At least for me, hosting stuff went from «I have no idea what I’m doing» to «This sort of makes sense».

  • Possibly linux@lemmy.zip
    link
    fedilink
    English
    arrow-up
    3
    ·
    21 hours ago

    Get a old workstation and install Linux Mint. From there look into learning how Linux containers work.

  • one_knight_scripting@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    edit-2
    19 hours ago

    I’m curious where you are from and what hardware for self hosting you have. I also want to know what you are interested in self-hosting or learning.

    For me, my home lab started with networking. Yours doesn’t have to. For me, I had already achieved System Administration and was working to become a network engineer. Where are you on your path? In truth, starting with the network is not the best, mine required dedicated equipment: a firewall(UDM), switching(ubiquiti), and access points. This is expensive, so perhaps not the best place to stay.

    I would say that a good place to stay is with virtualization and a hypervisor. A hypervisor is intended to run virtual machines. I think starting with a hypervisor is a good idea because once you have a hypervisor, you can experiment with just about anything you want. Windows, Linux, docker, wherever your exploration takes you.

    Now, I would say the cheapest way to do this kinda depends on you. Do you have a .edu email address? If so, you should be able to receive free licensing for Windows Server through Microsoft imagine (previously called dreamspark). If not, do you have Windows 10/11 pro edition? I would say that Windows server may require dedicated hardware, but if you are already running Windows pro, then your daily driver pc will be capable of running hyper-v.

    If you have an old spare computer, you can make it a dedicated hypervisor with either the Windows Server option, or in my opinion the preferable Proxmox. Proxmox may take a little time to get acclimated to since it is Linux command line, but you already have experience with that on the pihole.

    Those are my recommended next steps to take. Though, there is plenty more that you can do. As others have said docker is a cool way to make some of this happen. I personally hate docker on Windows(it’s weird and I just want the command line not a UI). But you should easily be able to spin up Windows Subsystem for Linux, install docker and docker compose and get started there without needing any additional hardware. You could also do the same using hyper-v if you prefer and have a pro license.

    Regardless of what direction you choose to go, you can go far, you can succeed, and you can thrive. And if you run into any issues, post them here. Selfhosted has your back, and we are all rooting for you.

    Side Note: Hyper-v used to only be available on Windows Pro, but if someone knows for sure that it is available on home please let me know and I will update my post.

  • TedZanzibar@feddit.uk
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    If you want to give Home Assistant a try like others are suggesting, save yourself some time and hassle and install Home Assistant OS in a virtual machine. While you absolutely can run it in Docker you lose out on some neat quality of life improvements like add ons (which, funnily enough, are Docker containers pre-configured to hook in HA).

      • TedZanzibar@feddit.uk
        link
        fedilink
        English
        arrow-up
        2
        ·
        3 hours ago

        HACS installs community integrations whereas addons are like external programs that hook in HA. You can do the same thing with HA in Docker by installing the addon containers separately and then hooking them in manually but HA OS makes it much simpler.

        For example I’m running the Mosquitto broker, Z2M, a Visual Studio Code server, diyhue, and Music Assistant as addons.

        Docco page about it is here: https://www.home-assistant.io/addons/

  • doodledup@lemmy.world
    link
    fedilink
    English
    arrow-up
    34
    arrow-down
    3
    ·
    edit-2
    2 days ago

    The easiest way to get started is using Docker. You can self-host most software using Docker straight from their Github with one command or copy-paste config.

    Do NOT expose (Port forward/NAT) your services to the internet if you don’t know what you’re doing. Use it locally using IP:port. If you want to use your services remotely, use a VPN tunnel like Wireguard (Available on Android and iOS too). Modern routers already support it out of the box. Tailscale is also an option.

    Later down the road when you start exposing services, I can recommend NPM as your proxy for easy host and certificate management. Expose as little as possible! For added security when exposing applications to the internet, expose your port using a VPS or Cloudflare and tunnel to your home using Tailscale or Wireguard.

    To not get overwhelmed you should start small and improve as you go. You don’t need to start with a datacenter in your garage right away. The most important thing is that you have fun along the way :)

    Great projects to get started:

    • chjherzog@jlai.luOP
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 days ago

      Docker seems the way to go for me now! Thank you for the nice write up.

      I definitely do not now what I am doing so the word of caution is greatly appreciated!

      The whole thing about remotely accessing is probably something I put on my ToDo list as soon as I get a service up and running. Nevertheless reading it and just knowing about Wireguard and Tailscale is a huge benefit to me.

      Is there a personal recommendation which of your listed projects to get started with?

      • curbstickle@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        1 day ago

        Here are a few of my favorites, some of which are exposed, some are not:

        • Mealie - Recipe management. Import recipes by URL is my favorite feature, then I tweak and try it out (I have to be gluten free, so this makes it easy to track what worked for us).
        • Homepage - a homepage to put quick links to all of my stuff, neat and clean.
        • Grafana - for visualization of current data of my systems, paired with Prometheus.
        • Technitium DNS - for all of my DNS needs.
        • Jellyfin - for all my media, let’s me pick out what my kids can see/watch without me having to look over their shoulder, along with being a great looking solution for me.
        • Immich - photo and video management

        All of these (and more, this is just a dsmple of favorites) run on Proxmox. I mostly use LXC over docker, personal preference.

        Home Assistant is probably the single most useful for me, already mentioned, just about everything at home is automated/controlled through there.

      • doodledup@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        arrow-down
        1
        ·
        2 days ago

        KitchenOwl and Pastes are probably the easiest to setup. Paperless is the most useful for me. Nextcloud can be a bitch to setup once you want to include Office functionality. I recommend the Nextcloud All-In-One to make it a bit easier.

        In addition to the ones listed above, I can also recommend Home Assistant if you don’t know it yet. If you like home automation you’re in for a treat.

    • Telorand@reddthat.com
      link
      fedilink
      English
      arrow-up
      4
      ·
      2 days ago

      This is really helpful. I’ve been wanting to get started, like OP, but knowing how to do it feels overwhelming.

      Thanks!

  • Max-P@lemmy.max-p.me
    link
    fedilink
    English
    arrow-up
    7
    ·
    2 days ago

    I feel like a lot of the answers in this thread are throwing a lot of things with a lot of moving parts: Unraid, Docker, YunoHost, all that stuff. Those all still require generally knowing what the hell a Docker container is, how to use them and such.

    I wouldn’t worry about any of that and start much simpler than that: just grab any old computer you want to be your home server or rent a VPS and start messing with it. Just pick something you think would be cool to run at home. Anything you run on your personal computer you wish was up 24/7? Start with that.

    Ultimately there’s no right or wrong way to do things. It’s all about that learning experience and building up that experience over time. You get good by trying out things, failing and learning. Don’t want to learn Linux? Put Windows on it. You’ll get a lot of flack for it maybe, but at the very least over time you’ll probably learn why people don’t use Windows for server stuff generally. Or maybe you’ll like it, that happens too.

    Just pick a project and see it to completion. Although if you start with NextCloud and expose it publicly, maybe wait to be more comfortable with the security aspect before you start putting copies of your taxes and personal documents on it just in case.

    What would you like to self host to get started?

    • chjherzog@jlai.luOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      That takes away a lot of stress. Knowing to just get started and ignore the best approach instead of just a getting started approach and learn as you go.

      For the longest time I wanted to get rid if my google drive or google calendar and host one myself.

      Email as I have read is something more advanced but I would like to self host my email as well.

      Photos eventually too.

      As a lot of people have recommended nextcloud that seems like where my interest might be heading.

      As a starting point. Are there any hardware recommendations for a toy home server?

      • bluGill@fedia.io
        link
        fedilink
        arrow-up
        2
        ·
        1 day ago

        Email is often impossible. you can run your own server but you won’t be able to send email to many people because gmail and other larre providers will ignore everything from any ip address you can get. you endeup with email for only people on you server and the what is the point.

        just a warning there. Some do self host email but it is the most difficult to host. My life is much better now that I pay fastmail to handle my email.

      • Max-P@lemmy.max-p.me
        link
        fedilink
        English
        arrow-up
        3
        ·
        2 days ago

        As a starting point. Are there any hardware recommendations for a toy home server?

        Whatever you already have. Old desktop, even old laptop (those come with a built-in battery backup!). Failing what, Raspberry Pis are pretty popular and cheap and low power consumption, which makes it great if you’re not sure how much you want to spend.

        Otherwise, ideally enough to run everything you need based on rough napkin math. Literally the only requirement is that the stuff you intend to run fits on it. For reference, my primary server which hosts my Lemmy instance (and emails and NextCloud and IRC and Matrix and Minecraft) is an old Xeon processor close to a third gen Intel i7 with 32GB of DDR3 memory, there’s 5 virtual machines on it (one of which is the Lemmy one), and it feels perfectly sufficient for my needs. I could make it work with half of that no problem. My home lab machine is my wife’s old Dell OptiPlex.

        Speaking of virtual machines, you can test the waters on your regular PC by just loading whatever OS you choose in a virtual machine (libvirt if you’re on Linux, VirtualBox or VMware otherwise). Then play with it. When it works makes a snapshot. Continue playing with it, break it, revert to the last good snapshot. A real home server will basically be the same but as a real machine that’s on 24/7. It’s also useful to test things out as a practice run before putting them on your real server machine. It’s also give you a rough idea how much resources it uses, and you can always grow your VM until it fits and then know how much you need for the real thing.

        Don’t worry too much about getting it right (except the backups, get those right, verify and test those regularly). You will get it wrong and eventually tear it down and rebuild it better what what you learn (or want to learn). Once you gain more experience it’ll start looking more and more like a real server setup, out of your own desire and needs.

  • Codilingus@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    5
    ·
    edit-2
    2 days ago

    Get Unraid for your server OS. Its nuts how good it is at being beginner friendly, while being robust when needed. It has a docker app “store”, as well as plugins, and a virtual machine manager as well. It also has a very, very nice Web GUI: you manage the server from another PC you use in your house.

    I can not overstate how much I learned by starting with Unraid.

    • chjherzog@jlai.luOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      Thank you for sharing!

      I will give it try it seems like a great starting point.

  • liliumstar@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    2 days ago

    To start small setup a static website behind nginx. This requires you to create a basic website or copy a template, it goes somewhere in your filesystem, in linux /var/www is common. Once you have that, setup the nginx service and point it to that location. You can do this locally then expose it to the net or put on a VPS. Here is a dead simple guide presuming you have a remote server: https://dev.to/starcc/how-to-deploy-a-simple-website-with-nginx-a-comically-easy-guide-202g

    Once you have that covered, ensure you know how to setup ssh keys and such, then install, configure, and run services. From there, most things are easy outside of overly complicated configurations.

  • Matt The Horwood@lemmy.horwood.cloud
    link
    fedilink
    English
    arrow-up
    5
    ·
    2 days ago

    As a homelabber and systems admin, I would start with learning how to use Linux on the command line.

    It’s all well and good looking at docker, but if you don’t know how to move about or edit on the command line. Your going to get stuck real quick.

    Once your happy doing simple tasks on the command line, I would actually look at running something like wordpress on a pi or VPS. That will help you understand how to connect services together, and cement your basic command line knowledge.

    • chjherzog@jlai.luOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      2 days ago

      I am not unfamiliar with Linux.

      Kind of lucky/unlucky as a broke student I did not have money to buy a new Windows machine.

      Now I am kind of glad about it.

      Docker on the other hand I have had barely any contact with it so far. So I definitely check that out.