1
0
Fork 0
Modular server management based on NixOS modules and focused on best practices.
Find a file
2023-09-26 23:34:24 -07:00
_disnix move code using disnix into separate hidden folder 2023-07-11 23:26:50 -07:00
examples/homeassistant add home-assistant example 2023-07-10 18:36:25 -07:00
modules switch to nextcloud27 2023-09-26 23:34:24 -07:00
.gitignore add home-assistant example 2023-07-10 18:36:25 -07:00
flake.lock add flake with some modules 2023-07-10 18:36:25 -07:00
flake.nix add arr suite 2023-09-24 13:31:21 -07:00
LICENSE Initial commit 2022-12-17 15:39:17 -08:00
README.md add instructions to deploy 2023-09-25 22:54:46 -07:00

Self Host Blocks

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 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.

Supported Features

  • Authelia as SSO provider.
    • Export metrics to Prometheus.
  • LDAP server through lldap, it provides a nice Web UI.
    • Administrative UI only accessible from local network.
  • Backup with Restic or BorgBackup
    • UI for backups.
    • Export metrics to Prometheus.
  • Monitoring through Prometheus and Grafana.
    • Export systemd services status.
  • Reverse Proxy with Nginx.
    • Export metrics to Prometheus.
    • Log slow requests.
    • SSL support.
    • Backup support.
  • Nextcloud
    • Export metrics to Prometheus.
    • LDAP auth, unfortunately we need to configure this manually.
    • SSO auth.
    • Backup support.
  • Home Assistant.
    • Export metrics to Prometheus.
    • LDAP auth through homeassistant_user LDAP group.
    • SSO auth.
    • Backup support.
  • Jellyfin
    • Export metrics to Prometheus.
    • LDAP auth through jellyfin_user and jellyfin_admin LDAP groups.
    • SSO auth.
    • Backup support.
  • Hledger
    • Export metrics to Prometheus.
    • LDAP auth through hledger_user LDAP group.
    • SSO auth.
    • Backup support.
  • Database Postgres
    • Slow log monitoring.
    • Export metrics to Prometheus.

Tips

Deploy

$ nix run nixpkgs#colmena -- apply

Diff changes

$ 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