1
0
Fork 0

rephrase readme intro to explain better what SHB intends to be

This commit is contained in:
ibizaman 2023-12-08 10:50:52 -08:00 committed by Pierre Penninckx
parent 3c9f71da0e
commit 46f7a8921c

View file

@ -2,11 +2,20 @@
*Building blocks for self-hosting with battery included.* *Building blocks for self-hosting with battery included.*
SHB's (Self Host Blocks) goal is to provide a lower entry-bar for self-hosting. I intend to achieve SHB's (Self Host Blocks) goal is to provide a lower entry-bar for self-hosting. SHB provides opinionated [building blocks](#building-blocks) fitting together to self-host any service
this by providing opinionated [building blocks](#building-blocks) fitting together to self-host any service
you'd want. Some [common services](#provided-services) are provided out of the box. you'd want. Some [common services](#provided-services) are provided out of the box.
The building blocks allow you to easily setup: Each building block defines a part of what a self-hosted app should provide. For example, HTTPS
access through a subdomain or Single Sign-On. The goal of SHB is to make sure those blocks all fit
together, whatever the actual implementation you choose. For example, the subdomain access could be
done using Caddy or Nginx. This is achieved by providing an explicit contract for each block and validating that contract using NixOS VM integration tests.
One important goal of SHB is to be the smallest amount of code above what is available in
[nixpkgs](https://github.com/NixOS/nixpkgs). It should be the minimum necessary to make packages
available there conform with the contracts. This way, there are less chance of breakage when nixpkgs
gets updated.
SHB provides some out of the box implementation of those blocks:
- Access through a subdomain ([Nginx](https://www.nginx.com/)). - Access through a subdomain ([Nginx](https://www.nginx.com/)).
- HTTPS access ([Nginx](https://www.nginx.com/) + [Letsencrypt](https://letsencrypt.org/)). - HTTPS access ([Nginx](https://www.nginx.com/) + [Letsencrypt](https://letsencrypt.org/)).
- Backup ([Borgmatic](https://torsion.org/borgmatic/) and/or [Restic](https://restic.net/)). - Backup ([Borgmatic](https://torsion.org/borgmatic/) and/or [Restic](https://restic.net/)).
@ -16,10 +25,11 @@ The building blocks allow you to easily setup:
- Database setup (Only [Postgresql](https://www.postgresql.org/) so far). - Database setup (Only [Postgresql](https://www.postgresql.org/) so far).
- VPN tunnels with optional proxys ([OpenVPN](https://openvpn.net/) with [Tinyproxy](http://tinyproxy.github.io/)). - VPN tunnels with optional proxys ([OpenVPN](https://openvpn.net/) with [Tinyproxy](http://tinyproxy.github.io/)).
The provided services will have all those integrated. Progress is detailed in the [Supported Features](#supported-features) section. SHB provides also services that integrate with those blocks out of the box. Progress is detailed in the [Supported Features](#supported-features) section.
You should know that although I am using everything in this repo for my personal production server, this is > **Caution:** You should know that although I am using everything in this repo for my personal
really just a one person effort for now and there are most certainly bugs that I didn't discover yet. > production server, this is really just a one person effort for now and there are most certainly
> bugs that I didn't discover yet.
## TOC ## TOC