1
0
Fork 0
selfhostblocks/README.md

92 lines
2.7 KiB
Markdown
Raw Normal View History

2022-12-18 00:43:42 +01:00
# Self Host Blocks
2023-08-04 09:05:28 +02:00
<!--toc:start-->
- [Self Host Blocks](#self-host-blocks)
- [Supported Features](#supported-features)
<!--toc:end-->
2023-02-20 05:50:39 +01:00
*Building blocks for self-hosting with battery included.*
2022-12-18 00:43:42 +01:00
2023-06-23 06:22:21 +02:00
SHB's (Self Host Blocks) goal is to provide a lower entry-bar for self-hosting. I intend to achieve
this by providing opinionated building blocks fitting together to self-host a wide range of
services. Also, the design will be extendable to allow users to add services not provided by SHB.
2023-07-30 07:26:32 +02:00
## Supported Features
2023-08-10 05:39:32 +02:00
- [X] Authelia as SSO provider.
- [X] Export metrics to Prometheus.
2023-07-30 07:26:32 +02:00
- [X] LDAP server through lldap, it provides a nice Web UI.
2023-07-31 02:44:50 +02:00
- [X] Administrative UI only accessible from local network.
2023-07-30 07:26:32 +02:00
- [X] Backup with Restic or BorgBackup
2023-09-23 09:04:01 +02:00
- [ ] UI for backups.
- [ ] Export metrics to Prometheus.
2023-07-30 07:26:32 +02:00
- [X] Monitoring through Prometheus and Grafana.
- [X] Export systemd services status.
- [X] Reverse Proxy with Nginx.
- [ ] Export metrics to Prometheus.
2023-09-23 09:04:01 +02:00
- [ ] Log slow requests.
2023-07-30 07:26:32 +02:00
- [X] SSL support.
- [X] Backup support.
- [X] Nextcloud
- [ ] Export metrics to Prometheus.
- [X] LDAP auth, unfortunately we need to configure this manually.
- [ ] SSO auth.
- [X] Backup support.
- [X] Home Assistant.
2023-08-04 09:04:37 +02:00
- [ ] Export metrics to Prometheus.
2023-08-05 20:50:29 +02:00
- [X] LDAP auth through `homeassistant_user` LDAP group.
2023-08-04 09:04:37 +02:00
- [ ] SSO auth.
- [X] Backup support.
- [X] Jellyfin
2023-07-30 07:26:32 +02:00
- [ ] Export metrics to Prometheus.
2023-08-05 20:50:29 +02:00
- [X] LDAP auth through `jellyfin_user` and `jellyfin_admin` LDAP groups.
2023-08-05 21:46:14 +02:00
- [X] SSO auth.
2023-07-30 07:26:32 +02:00
- [X] Backup support.
2023-09-03 00:00:41 +02:00
- [X] Hledger
- [ ] Export metrics to Prometheus.
- [X] LDAP auth through `hledger_user` LDAP group.
- [X] SSO auth.
- [ ] Backup support.
2023-09-23 09:04:01 +02:00
- [X] Database Postgres
- [ ] Slow log monitoring.
- [ ] Export metrics to Prometheus.
2023-09-26 07:16:20 +02:00
## Tips
2023-09-26 07:54:46 +02:00
### Deploy
```bash
$ nix run nixpkgs#colmena -- apply
```
2023-09-26 07:16:20 +02:00
### Diff changes
```bash
$ nix run nixpkgs#colmena -- build
...
Built "/nix/store/yyw9rgn8v5jrn4657vwpg01ydq0hazgx-nixos-system-baryum-23.11pre-git"
# Make some changes
$ nix run nixpkgs#colmena -- build
...
Built "/nix/store/16n1klx5cxkjpqhrdf0k12npx3vn5042-nixos-system-baryum-23.11pre-git"
$ nix run nixpkgs#nix-diff -- \
/nix/store/yyw9rgn8v5jrn4657vwpg01ydq0hazgx-nixos-system-baryum-23.11pre-git \
/nix/store/16n1klx5cxkjpqhrdf0k12npx3vn5042-nixos-system-baryum-23.11pre-git \
--color always | less
```
2023-09-27 22:28:25 +02:00
Also, in lieu of `nix-diff`, a nice summary of version changes can be produced with:
```bash
nix run nixpkgs#nvd -- diff \
/nix/store/yyw9rgn8v5jrn4657vwpg01ydq0hazgx-nixos-system-baryum-23.11pre-git \
/nix/store/16n1klx5cxkjpqhrdf0k12npx3vn5042-nixos-system-baryum-23.11pre-git \
```
2023-10-01 00:49:42 +02:00
## TODOs
- [ ] Make sure nginx gets reloaded when SSL certs gets updated.