I’ve been around selfhosting most of my life and have seen a variety of different setups and reasons for selfhosting. For myself, I don’t really self host as mant services for myself as I do infrastructure. I like to build out the things that are usually invisible to people. I host some stuff that’s relatively visible, but most of my time is spent building an over engineered backbone for all the services I could theoretically host. For instance, full domain authentication and oversight with kerberized network storage, and both internal and public DNS.

The actual services I host? Mail and vaultwarden, with a few (i.e. < 3) more to come.

I absolutely do not need the level of infrastructure I need, but I honestly prefer that to the majority of possible things I could host. That’s the fun stuff to me; the meat and potatoes. But I know some people do focus more on the actual useful services they can host, or on achieving specific things with their self hosting. What types of things do you host and why?

  • smiletolerantly@awful.systems
    link
    fedilink
    English
    arrow-up
    11
    ·
    edit-2
    5 months ago

    (Preface: almost all of this is handled in a single Nix config, and no docker in use at all)

    At home, in a two-hosts Proxmox cluster:

    • blocky for adblocking
    • a full *arr stack with torrents and nzbs for uuuuuuhhh Linux ISOs
    • Jellyfin so friends and family can watch, I mean use the Linux ISOs
    • Paperless (HIGHLY recommend)
    • Wastebin (Pastebin alternative)
    • Sterling-PDF (also really recommend, allowed me to get rid of Acrobat Reader for filling out and signing PDFs, plus a bunch more)
    • Homeassistant
    • Linux and Windows clients available for whenever you might need them (not often, but can come in handy)
    • Borg client, backing up parts of my NAS to a cloud storage box
    • OPNSense backup for the hardware firewall
    • Forgejo

    On a bare metal machine at a reputable cloud provider:

    • my personal Email, Calendar, Contacts (super easy with Nix)
    • another blocky instance
    • another borg client
    • Rustdesk server (OSS Teamviewer)
    • wireguard that’s just used by my TV so crunchyroll thinks it’s in (other country), Lmao

    Wishlist:

    • Vaultwarden
    • Immich, once added to nixpkgs
    • PeerTube
    • Pixelfed
    • devraza@lemmy.ml
      link
      fedilink
      English
      arrow-up
      3
      ·
      5 months ago

      If you want to keep everything inside a singular Nix configuration while still using Docker, you can check out the NixOS option virtualisation.oci-containers - essentially, a declarative way of managing docker/podman containers (similar to docker-compose) but with Nix.

      • smiletolerantly@awful.systems
        link
        fedilink
        English
        arrow-up
        2
        ·
        4 months ago

        I know it’s been three weeks, but thanks for telling me about this! I might actually do this, for the projects here and there which aren’t packaged into nixpkgs (yet).

    • klassasin@programming.dev
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 months ago

      Any chance you could share any of your Nix config? I’m curious how it’s being used with Proxmox (I’m using ansible and terraform right now).

      • smiletolerantly@awful.systems
        link
        fedilink
        English
        arrow-up
        4
        ·
        5 months ago

        I thought about adding a link, but am a bit hesitant to de-anonymize myself on here 😅

        But it’s basically this:

        • Proxmox is not Nix configured. There’s a project for that, but IMO t’ll take a couple of years to be ready for production.
        • I’ve created a custom nix module that essentially just sets my default values for stuff like bios type, boot order,… And allows to set CPU cores, RAM, IP,…
        • all this does though is just setting the corresponding values from the nixos-generators proxmox output
        • additionally, all the usual stuff is handled (user, known ssh keys, base config of the system)
        • for each VM, I only have a single file containing the VM settings (ID, RAM, cpu, ip,…) and the service config for whatever the VM is for
        • then lastly I have a custom script/shell that essentially just allows to do “nixvm-new <flake output name>” which generates the image, moves it to the nas, and calls on proxmox to import the image, plus some cleanup

        TBH this sounds way more complicated than it is / feels to use 😄