1.8 KiB
Self Host Blocks
Building blocks for self-hosting with best practices.
SHB's (Self Host Blocks) goal is to provide a lower entry-bar for self-hosting. I intend to achieve this by providing building blocks promoting best practices to self-host a wide range of services. Also, the design will be extendable to allow user defined services.
As far as features and best practices go, I intend to provide, for all services:
- protection and single sign-on using Keycloak, where possible
- automated backing up of data and databases with Borgmatic
- encrypted external backup with Rclone
- central logging, monitoring and dashboards with Prometheus and Grafana
- integration with external services that are hard to self-host, like email sending
- deployment of services on the same or different machines
- home dashboard with Dashy
- vault to store passwords and api keys using Password Store, those shouldn't be stored in config or on disk
- test changes using local virtual machines to avoid botching prod
- automated CI tests
Implementation is made with the disnix suite - Disnix, Dysnomia, NixOps - built on top of the nix ecosystem.
Progress Status
Currently, this repo is WIP and the first two services I intend to provide are Tiny Tiny RSS and Vaultwarden. Vaultwarden was chosen as it's IMO the first stepping stone to enable self-hosting. Tiny Tiny RSS was chosen because it requires quite a lot of moving parts and also will allow me to test single sign-on.