Skip to content

Commit

Permalink
add nextcloud dashboard
Browse files Browse the repository at this point in the history
  • Loading branch information
ibizaman authored and ibizaman committed Dec 25, 2024
1 parent 538c0a0 commit 0ef061f
Show file tree
Hide file tree
Showing 15 changed files with 2,461 additions and 9 deletions.
56 changes: 56 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,11 +98,67 @@ The goal is to help spread adoption of self-hosting by providing an opinionated

Self Host Blocks takes care of common self-hosting needs:
- Backup for all services.
- Automatic creation of ZFS datasets per service.
- LDAP and SSO integration for most services.
- Monitoring with Grafana and Prometheus stack with provided dashboards.
- Automatic reverse proxy and certificate management for HTTPS.
- VPN and proxy tunneling services.

### Services

[Provided services](https://shb.skarabox.com/services.html) are:

- Nextcloud
- Audiobookshelf
- Deluge + *arr stack
- Forgejo
- Grocy
- Hledger
- Home-Assistant
- Jellyfin
- Nextcloud
- Vaultwarden

Like explained above, those services all benefit from
out of the box backup,
LDAP and SSO integration,
monitoring with Grafana,
reverse proxy and certificate management
and VPN integration for the *arr suite.

Some services do not have an entry yet in the manual.
To know options for those, the only way for now
is to go to the [All Options][] section of the manual.

[All Options]: https://shb.skarabox.com/options.html

### Blocks

To provided out of the box common functionality,
the services above use the following [common blocks][]:

[common blocks]: https://shb.skarabox.com/blocks.html

- Authelia
- BorgBackup
- Davfs
- LDAP
- Monitoring (Grafana - Prometheus - Loki stack)
- Nginx
- PostgreSQL
- Restic
- Sops
- SSL
- Tinyproxy
- VPN
- ZFS

Those blocks can be used outside of Self Host Blocks too.

Some blocks do not have an entry yet in the manual.
To know options for those, the only way for now
is to go to the [All Options][] section of the manual.

### Unified Interfaces

SHB's first goal is to provide unified [building blocks](#available-blocks)
Expand Down
5 changes: 5 additions & 0 deletions docs/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,11 @@ in stdenv.mkDerivation {
'@OPTIONS_JSON@' \
${individualModuleOptionsDocs [ ../modules/blocks/ssl.nix ]}/share/doc/nixos/options.json
substituteInPlace ./modules/blocks/monitoring/docs/default.md \
--replace \
'@OPTIONS_JSON@' \
${individualModuleOptionsDocs [ ../modules/blocks/monitoring.nix ]}/share/doc/nixos/options.json
substituteInPlace ./modules/blocks/postgresql/docs/default.md \
--replace \
'@OPTIONS_JSON@' \
Expand Down
127 changes: 125 additions & 2 deletions docs/redirects.json
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,9 @@
"blocks-monitoring-configuration": [
"blocks-monitoring.html#blocks-monitoring-configuration"
],
"blocks-monitoring-nextcloud-dashboard": [
"blocks-monitoring.html#blocks-monitoring-nextcloud-dashboard"
],
"blocks-monitoring-deluge-dashboard": [
"blocks-monitoring.html#blocks-monitoring-deluge-dashboard"
],
Expand All @@ -26,6 +29,126 @@
"blocks-monitoring-provisioning": [
"blocks-monitoring.html#blocks-monitoring-provisioning"
],
"blocks-monitoring-options": [
"blocks-monitoring.html#blocks-monitoring-options"
],
"blocks-monitoring-options-shb.monitoring.adminPassword": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword"
],
"blocks-monitoring-options-shb.monitoring.adminPassword.request": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword.request"
],
"blocks-monitoring-options-shb.monitoring.adminPassword.request.group": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword.request.group"
],
"blocks-monitoring-options-shb.monitoring.adminPassword.request.mode": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword.request.mode"
],
"blocks-monitoring-options-shb.monitoring.adminPassword.request.owner": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword.request.owner"
],
"blocks-monitoring-options-shb.monitoring.adminPassword.request.restartUnits": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword.request.restartUnits"
],
"blocks-monitoring-options-shb.monitoring.adminPassword.result": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword.result"
],
"blocks-monitoring-options-shb.monitoring.adminPassword.result.path": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.adminPassword.result.path"
],
"blocks-monitoring-options-shb.monitoring.contactPoints": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.contactPoints"
],
"blocks-monitoring-options-shb.monitoring.debugLog": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.debugLog"
],
"blocks-monitoring-options-shb.monitoring.domain": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.domain"
],
"blocks-monitoring-options-shb.monitoring.enable": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.enable"
],
"blocks-monitoring-options-shb.monitoring.grafanaPort": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.grafanaPort"
],
"blocks-monitoring-options-shb.monitoring.lokiMajorVersion": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.lokiMajorVersion"
],
"blocks-monitoring-options-shb.monitoring.lokiPort": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.lokiPort"
],
"blocks-monitoring-options-shb.monitoring.orgId": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.orgId"
],
"blocks-monitoring-options-shb.monitoring.prometheusPort": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.prometheusPort"
],
"blocks-monitoring-options-shb.monitoring.provisionDashboards": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.provisionDashboards"
],
"blocks-monitoring-options-shb.monitoring.secretKey": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey"
],
"blocks-monitoring-options-shb.monitoring.secretKey.request": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey.request"
],
"blocks-monitoring-options-shb.monitoring.secretKey.request.group": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey.request.group"
],
"blocks-monitoring-options-shb.monitoring.secretKey.request.mode": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey.request.mode"
],
"blocks-monitoring-options-shb.monitoring.secretKey.request.owner": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey.request.owner"
],
"blocks-monitoring-options-shb.monitoring.secretKey.request.restartUnits": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey.request.restartUnits"
],
"blocks-monitoring-options-shb.monitoring.secretKey.result": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey.result"
],
"blocks-monitoring-options-shb.monitoring.secretKey.result.path": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.secretKey.result.path"
],
"blocks-monitoring-options-shb.monitoring.smtp": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.smtp"
],
"blocks-monitoring-options-shb.monitoring.smtp.from_address": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.smtp.from_address"
],
"blocks-monitoring-options-shb.monitoring.smtp.from_name": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.smtp.from_name"
],
"blocks-monitoring-options-shb.monitoring.smtp.host": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.smtp.host"
],
"blocks-monitoring-options-shb.monitoring.smtp.passwordFile": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.smtp.passwordFile"
],
"blocks-monitoring-options-shb.monitoring.smtp.port": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.smtp.port"
],
"blocks-monitoring-options-shb.monitoring.smtp.username": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.smtp.username"
],
"blocks-monitoring-options-shb.monitoring.ssl": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.ssl"
],
"blocks-monitoring-options-shb.monitoring.ssl.paths": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.ssl.paths"
],
"blocks-monitoring-options-shb.monitoring.ssl.paths.cert": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.ssl.paths.cert"
],
"blocks-monitoring-options-shb.monitoring.ssl.paths.key": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.ssl.paths.key"
],
"blocks-monitoring-options-shb.monitoring.ssl.systemdService": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.ssl.systemdService"
],
"blocks-monitoring-options-shb.monitoring.subdomain": [
"blocks-monitoring.html#blocks-monitoring-options-shb.monitoring.subdomain"
],
"blocks-postgresql": [
"blocks-postgresql.html#blocks-postgresql"
],
Expand Down Expand Up @@ -1136,8 +1259,8 @@
"services-nextcloudserver-features": [
"services-nextcloud.html#services-nextcloudserver-features"
],
"services-nextcloudserver-maintenance": [
"services-nextcloud.html#services-nextcloudserver-maintenance"
"services-nextcloudserver-dashboard": [
"services-nextcloud.html#services-nextcloudserver-dashboard"
],
"services-nextcloudserver-options": [
"services-nextcloud.html#services-nextcloudserver-options"
Expand Down
Loading

0 comments on commit 0ef061f

Please sign in to comment.