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?

  • @klassasin@programming.dev
    link
    fedilink
    English
    24 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
      44 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 😄