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.

  • @wer2@lemm.ee
    link
    fedilink
    English
    1325 days 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
      925 days 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».

  • clb92
    link
    fedilink
    English
    1126 days ago

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

  • @papertowels@mander.xyz
    link
    fedilink
    English
    824 days 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.

  • @doodledup@lemmy.world
    link
    fedilink
    English
    35
    edit-2
    26 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
      426 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
        4
        edit-2
        25 days 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
        026 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
      426 days ago

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

      Thanks!

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

  • mesa
    link
    fedilink
    English
    426 days ago

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

  • bluGill
    link
    fedilink
    226 days 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.

    • @chjherzog@jlai.luOP
      link
      fedilink
      English
      126 days ago

      The hardest thing I face is the definition of small.

      I struggled with the main definition of small. Thankfully there are kind people here to guide me in the right direction.

      Starting with a service I do not just yet want to rely on is my main goal to build it up from there.

  • @terminhell@lemmy.dbzer0.com
    link
    fedilink
    English
    126 days 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
      126 days ago

      Yes the piHole is running on a rpi.

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

  • @snekerpimp@lemmy.world
    link
    fedilink
    English
    326 days 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.

  • @Showroom7561@lemmy.ca
    link
    fedilink
    English
    526 days 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
      123 days 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
        223 days 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.

  • @gkaklas@lemmy.zip
    link
    fedilink
    English
    4
    edit-2
    26 days ago

    You could try something like YunoHost to get started! It’s kind of a one-click deployment platform for self-hosting, ready to use with user management, reverse proxy with SSL, somewhat preconfigured services to choose from, etc.

    Ideally you can also learn the tools needed like Docker, Ansible, etc, but with yunohost and a SBC (e.g. RaspberryPi), or a €5/month VPS (easier if you want to access your services publicly), you will have a ready-to-use boilerplate that you can start building on.

    Learning all the individual technologies at the same time might be overwhelming at the beginning, but something like yunohost will allow you over time to learn all the stuff around the deployment itself, e.g. how domains and DNS records work, how the SSL certificates are generated, which services you would like to set up and use, the configuration needed for these services individually, etc. And at the same time you can start using a few useful services!

    Then, as you start learning, you could start setting up services one-by-one manually with e.g. Docker, either at the same server or a new one.

    Don’t forget to look for the admin documentation for each software you’re setting up (e.g. Nextcloud etc). And look at awesome-selfhosted, it’s a list of more resources and software to use and deploy!

    Good luck and have fun!

    (Edit: There are some yunohost alternatives you might want to look into, but most of what I found either had a very small selection of software, or had a subscription service etc that they want to sell you, while limiting what you can do on your own server)

    • BruisedMoose
      link
      fedilink
      English
      225 days ago

      I agree with this. I’m running CasaOS on a Pi4. Having the initial ease of one click installs gives you a great start, then you’ll start to find that you need to manage some port assignments, then you’ll start learning about Docker environment variables, then you’ll be managing custom installs.

      Awesome-Selfhosted is a great resource. Just browse and try something interesting.

      My own recent journey went like this:

      Run AdGuard Add DokuWiki, Navidrome, Mealie Set up Cloudflare Tunnels Add FreshRSS, Homer, SearchXNG

      I also have Nextcloud on a VPS, but the fun is on the Pi.

    • @chjherzog@jlai.luOP
      link
      fedilink
      English
      226 days ago

      That seems like a sensible approach.

      The whole area around selfhosting not just the deployment keeps me in somewhat of an analysis paralysis. Like what a reverse proxy is and why it is beneficial, how to set up and configure ssl and the whole area about not using a compromised service kind of keep me from starting.

      Locally and not connected to the Internet might be the best way to get started and then I will hopefully someday be able to remotely use my services.

      • @jabeez@lemmy.today
        link
        fedilink
        English
        225 days ago

        Get a decent router with capability to be Wireguard server, and you can always have access to your services from anywhere, without exposing them. It’s really easy to set up, too.

  • @Codilingus@sh.itjust.works
    link
    fedilink
    English
    5
    edit-2
    26 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.