I’ve never had so much fun self-hosting. A decade or so ago I was hosting things on Linode and running all kinds of servers for myself but with the rise of cloud services, I favored just giving everything to Google. I noticed how popular this community was on Reddit/Lemmy and now it’s my new addiction.

I’m a software engineer and have plenty of experience deploying to AWS/GCP so my head has been buried in the sand with these cloud providers. Now that I’m looking around there are things like NextCloud, Pihole, and Portainer all set up with Cloudflare Zero Trust… I feel like I’m living the dream of having the convenience to deploy my own services with proper authentication and it’s so much fun.

Reviving old hardware to act as local infra is so badass it feels great turning on old machines that were collecting dust. I’m now trying to convince my brother to participate in doing hard-drive swaps on a monthly basis so I have some backup redundancy off-site without needing to back up to the cloud.

Sorry if this feels ranty but I just can’t get over how awesome this is and I feel like a kid again. Cheers to this awesome community!

EDIT: Just also found Fission and OpenFaaS, selfhosted serverless functions, I’m jumping with joy right now!

  • zebus@kbin.social
    link
    fedilink
    arrow-up
    2
    ·
    1 year ago
    1. Follow docker install guide for raspi
    2. Browse awesome-selfhosted and find services that seem interesting to you or ask for recs here.
    3. Follow the projects guide to do a docker install
    4. (Bonus) Setup a reverse proxy like nginx proxy manager so you can access your services with urls
    5. (Bonus) Setup domain and a service such as Tailscale so you can access your services safely from outside your home.
    • AusatKeyboardPremi@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Thanks for the steps!

      I remember steps 4 & 5 were the ones that made me drop the idea. It involved a lot of configuration.

      I will take a look once again, hopefully these have become simple enough.

      • zebus@kbin.social
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Np, I would say dm me if you have any questions but I dunno if you can message between lemmy and kbin haha

      • Rising5315@kbin.social
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I set up wireguard vpn and took down all my reverse proxies as it feels more secure and is easier to maintain.

        From what I’ve heard tailscale is a step easier as well. So you could vpn into your network rather than accessing the services via URL.

    • Kaldo@kbin.social
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      1 year ago

      Honestly I’ve never used docker properly and one time I tried for the *arr stack I ran into many issues with access to storage drives and connectivity between different services. Does it actually help with anything on rpi? I thought it’s good enough to just install the rpi OS and then install other services normally on it?

      • zebus@kbin.social
        link
        fedilink
        arrow-up
        1
        ·
        edit-2
        1 year ago

        Nope, do whatever suits you!

        I would say tho the example you made is one of the infamous cases where docker is more difficult to setup than without due to the file locations of your movies, etc needing to match between dockers. When I set it up I found a really good guide that not only explained how to set it up but they also explained the logic and reason behind the issue.

        https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths

        Another good guide about the issue:
        https://trash-guides.info/Hardlinks/How-to-setup-for/Docker/

        The reason I’d initially recommend docker to a beginner is it keeps everything clean and organized, it’s easy to undo mistakes while learning, and I feel some apps are easier to setup with docker because they come with the dependencies already installed and configured properly.