Now that I have started this community off with a non-technical post, I will share my own, personal solution to digital privacy. This post will be more technical.

I self-host every service I possibly can from a cluster of servers (mostly low-power ARM SBCs) that are in my room. Until recently, I was just manually throwing services onto servers and then manually configuring everything. As I've mentioned before in a GenZedong General Discussion Thread, I am now using an orchestrator called Nomad as well as a service discovery solution called Consul.

This allows me to submit a single configuration file, and my servers all automatically configure themselves to perform whatever task I wanted them to. I've placed all my configuration files along with relatively detailed READMEs about them into this repository if anyone wants to take a look at them: https://gitea.arsenm.dev/Arsen6331/nomad.

Due to using SBCs, I am able to do all of this with a power consumption of just 50W.

Here is a list of things I host and what they're meant to replace:

  • Matrix Dendrite: Discord
  • Nextcloud: Google Drive
  • OnlyOffice: Google Docs
  • Home Assistant: HomeKit/SmartThings/<insert smart home platform here>
  • Gitea: Github/Gitlab
  • Minio: Amazon S3 (storage and download for files)
  • LMS: Spotify
  • SearXNG: Google Search (Note: I used to use my own metasearch engine but switched to SearXNG a couple days ago because mine kept getting ratelimited)

There are more but they're not really alternatives to anything, I'll list them here:

  • Authelia: Provides authentication and 2fa for services that don't provide their own mechanism. Can also work similarly to "Sign in with Google" buttons via OAuth2 and OIDC.
  • Traefik: Reverse proxy that provides access to all the rest
  • Homer: Provides a dashboard for all my services. My instance can be found at: https://dashboard.arsenm.dev