Thinking of self-hosting some basic tools; SearxNG, Bitwarden, Lemmy.

What kind of tools are you self-hosting right now? Which ones are easy to manage, which ones are awkward? 👀

  • terribleplan@lemmy.nrd.li
    link
    fedilink
    English
    arrow-up
    1
    ·
    1 year ago

    My comment in the selfhosted community a few weeks ago is still pretty much up to date.

    I have added a new Lemmy instance in the cloud I am planning to host a project I am building on, and planka in my homelab as a todo list and poor man’s IPAM sort of tool. I have also shut down the Minecraft server I was running for a friend as they decided to move it to “Worlds” or something.

    I have also grown a little more confident in gluster. I still think there is a better solution possible, but I haven’t seen it out there, and am not sure any such juice would be worth the squeeze.

    Most of it has been pretty hands-off to deal with. The storage has been the thing I have poured most of my time into. Trying to achieve multi-server and multi-disk fault tolerance, incremental capacity scalability at a disk and server level, and not being stuck with massive overhead (e.g. 3x replication) seems like mostly a pipedream at this point…

    In various clouds

    • Email - Docker Mail Server (Postfix, Dovecot, Rspamd, etc.)
    • Reverse Proxy cluster - frp
      • This is actually pretty neat. It is basically acting as a self-hosted ngrok, letting me expose all the stuff in my homelab without having to put my home IP out there.
    • External Monitoring - Uptime Kuma
    • Random sites via cloudflare workers/R2

    In my homelab

    Infrastructure

    • DNS - PiHole fronting local Unbound resolvers
    • Load Balancing/Routing - Traefik
    • Storage - Gluster exposed via Samba
      • I am still searching for the right solution for storage… nothing does what I want. I have been slowly writing my own, but don’t have the time to get it to a point I trust it, haha.
    • Custom traefik auto-config clients/server
      • Reads labels on containers and announces them to the server that traefik uses for HTTP service discovery
    • Custom docker-compose nonsense
      • Basically lets me choose where to run docker-compose files in a simple and centralized way, including on multiple machines
      • Doesn’t do scheduling/monitoring/etc, just manually setting “this compose should run these machines”
      • I got tired of running k8s and nomad.

    Services

    • Authentication - Authentik
    • Media - Jellyfin
    • Minecraft
    • Password Manager - Vaultwarden
    • PKM - DokuWiki
    • SCM - Forgejo (a fork of Gitea, which itself is a fork of Gogs)
    • Social Media - Lemmy
    • Webmail - Snappymail
    • Several random little websites
    • Many little things I’ve written for myself

    Any service that needs non-http traffic pointed at it runs local instances of the frp client to expose that port to the reverse-proxy cluster.