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.

  • @PeteWheeler@lemmy.world
    link
    fedilink
    English
    01 month ago

    Hello, I am also new at self hosting semi recently. There is a bit of a learning curve, but once your over the hump, it gets a lot better.

    First, 100% use docker desktop if your using windows. Most github projects have a docker file you can use. This will take out 90% of the setup required and you don’t have to worry about applications not working on your computer. Thats the point of docker, to remove the “doesn’t work on my computer” problem.

    Here are some independent github projects that I found useful for me and were simple to setup.

    • excalidraw - digital whiteboard. You don’t need to self host this, but its a fun little project. You can just go to excalidraw.com and have 100% of the same features (it is all saved in your browser’s cache).
    • mealie - I cook a lot so this is a nice ‘permanent’ cook book to have.
    • warracker - I always forget what I have warranties on, so this will be helpful for me.
    • Arr projects like sonarr, radarr, Jellyfin - sonarr and radarr is a good project to sink your teeth into (do not recommend using docker for this, I had issues with my docker container connecting to my external drives because I have Windows Home edition). This ecosystem is usually everyone’s first project along with pihole since its so useful. Sonarr and radarr will probably take you a week or weekend, Jellyfin will take like 5 min.
  • clb92
    link
    fedilink
    English
    01 month ago

    Learn how to use Docker. That’s gonna be a big help.

  • mesa
    link
    fedilink
    English
    01 month ago

    If you want an easy way to host, yunohost can be a good place to start.

  • @doodledup@lemmy.world
    link
    fedilink
    English
    0
    edit-2
    1 month 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. Tailscale is also an option.

    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
      01 month 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
        0
        edit-2
        1 month 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
        01 month 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
      01 month ago

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

      Thanks!

  • bluGill
    link
    fedilink
    01 month ago

    Start small. The hard part isn’t installing a lot of software and getting it running. The hard part is keeping everything updated over time. So install one interesting service, and then figure out how the update process goes before installing another. Hopefully the worst thing that happens is you install services and use them only to have the computer fail in a few years after you depend on them and you can’t figure out how to get the data into the new version. There is also the very real possibility that your service is compromised by an attacker.

  • Matt The Horwood
    link
    fedilink
    English
    01 month 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.

  • @Showroom7561@lemmy.ca
    link
    fedilink
    English
    01 month ago

    My adventure into self-hosting started with a Synology NAS maybe 5 years (?) ago.

    With just the built-in software, I was able to replace Google Photos, Evernote, Dropbox, Google Calendar, Google contacts, and Google Play Music and Movies.

    Then as I learned how to use docker, I was able to replace more services.

    There may be “better” options out there beyond what Synology offers, but it’s been such a “set and forget” experience, that it’s easy for me to recommend them as an option.

    The biggest barrier, IMO, isn’t the learning curve, but the initial investment for the NAS + HDDs and the upgrade path as your storage needs grow.

    • marighost
      link
      fedilink
      English
      01 month ago

      This is where I’m at: a Synology running a few services like Plex for my family and friends. I’m hoping to learn more and help us all move from walled gardens even further. Some of Synology’s software can feel a little clunky to use but generally I’ve found it to work great despite my limited knowledge.

      • @Showroom7561@lemmy.ca
        link
        fedilink
        English
        01 month ago

        Some of Synology’s software can feel a little clunky to use but generally I’ve found it to work great despite my limited knowledge.

        Yeah, I make regular use of some of their built-in apps (Note Station, Drive, Photos).

        But they aren’t perfect.

        For example, Note Station has no good way to export the data for use outside of Note Station (poor data portability) and Synology Audio just feels so outdated. Photos is their best software, IMO.

        The beauty of self-hosting this stuff is that you can use any third-party software that reads the files, and you’re good to go. Your music, videos, photos, and documents are available as you see fit.

  • Max-P
    link
    fedilink
    English
    01 month 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
      01 month 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
        link
        fedilink
        01 month 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
          link
          fedilink
          English
          01 month ago

          It’s not impossible, been running my own email server for about 10 years and I inbox pretty much everywhere. I even emailed my work address and straight to inbox. I do have the full SPF, DKIM and DMARC stuff set up, for which I get notices from several email provides of failed spoof attempts.

          Takes a while and effort to gain that reputation, but it’s doable. And OVH’s IPs don’t exactly have a great reputation either. Once you’re delisted from most spam databases / old spam reputation is expired, it’s not that bad.

          Although I do agree it’s possibly one of the hardest services to self host. The software to run email servers is ancient and weird, and takes a lot to set up right. If you get it wrong you relay spam and start over, it’s rough.

      • Max-P
        link
        fedilink
        English
        01 month 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.

  • @snekerpimp@lemmy.world
    link
    fedilink
    English
    01 month ago

    Watch some YouTube channels like Jeff Geerling or Hardware Haven. They along with others, made the daunting task or self hosting manageable for me. Great tips with helpful pointers, and they lay things out fairly well, on their videos and their websites.

  • @liliumstar@lemmy.dbzer0.com
    link
    fedilink
    English
    01 month 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.

  • @LazerDickMcCheese@sh.itjust.works
    link
    fedilink
    English
    01 month ago

    If you look up “Dr. Frankenstein Discord” you’ll find the community that helped me get familiar with Docker. As in, several people held my hands for about 2 weeks non-stop. I can’t tell you enough how much I love that group. But containers aren’t the only way to go.

    I hear people talking about Proxmox a lot, and it seems (as far as I can tell) to be one of the easiest platforms for hosting many services one a machine. Next computer I set up, I’ll be going that route.

    Regardless of how you do it, the knowledge base and skills mostly transfer like a Venn diagram. The most important pieces to get started are hardware and patience. Everything else can be solved with online teamwork

    • @chjherzog@jlai.luOP
      link
      fedilink
      English
      01 month ago

      I will check out that community. Seems incredibly friendly and supporting!

      Proxmox is something in my distant future but regardless. I will hopefully get there eventually

      • @Capillary7379@lemmy.world
        link
        fedilink
        English
        01 month ago

        Having an environment like proxmox is very handy for learning and testing. When you find something to test, spin up a clean machine and you have a safe environment to learn that can be removed after. You can also try out different distros that way.

        I’d recommend setting up Incus instead however, it works fine on a desktop/laptop if you’re running a linux distro they support and don’t have a dedicated machine to use.

        They also have a very good tutorial/demo that shows the basics: https://linuxcontainers.org/incus/try-it/

  • @terminhell@lemmy.dbzer0.com
    link
    fedilink
    English
    01 month ago

    What hardware do you have already? Is pihole running on a rpi? Look into setting up wire guard or tail scale. Then you can have pihole on your phone while your not at home.

    Go old school and setup some basic website with apache2.

    • @chjherzog@jlai.luOP
      link
      fedilink
      English
      01 month ago

      Yes the piHole is running on a rpi.

      Never actually thought about having it on the go. Cool idea!