From eb66a9b4a29f9ed7281a727272063408982b498e Mon Sep 17 00:00:00 2001 From: ibizaman Date: Thu, 21 Nov 2024 21:22:36 +0100 Subject: [PATCH] fix documentation generation after update https://github.com/NixOS/nixpkgs/pull/353513/files --- demo/homeassistant/README.md | 2 +- demo/nextcloud/README.md | 6 +- docs/default.nix | 1 + docs/demos.md | 2 +- docs/options.md | 2 +- docs/redirects.json | 1625 +++++++++++++++++ modules/blocks/ssl/docs/default.md | 14 +- modules/contracts/backup/docs/default.md | 2 +- modules/contracts/secret/docs/default.md | 14 +- modules/contracts/ssl/docs/default.md | 10 +- .../services/nextcloud-server/docs/default.md | 76 +- 11 files changed, 1690 insertions(+), 64 deletions(-) create mode 100644 docs/redirects.json diff --git a/demo/homeassistant/README.md b/demo/homeassistant/README.md index 7b5b835c..0d438467 100644 --- a/demo/homeassistant/README.md +++ b/demo/homeassistant/README.md @@ -60,7 +60,7 @@ chmod 600 sshkey This is only needed because git mangles with the permissions. You will not even see this change in `git status`. -### Deploy with Colmena {#demo-homeassitant-deploy-colmena} +### Deploy with Colmena {#demo-homeassistant-deploy-colmena} If you deploy with Colmena, you must first build the VM and start it: diff --git a/demo/nextcloud/README.md b/demo/nextcloud/README.md index fd232598..2a89ab54 100644 --- a/demo/nextcloud/README.md +++ b/demo/nextcloud/README.md @@ -112,7 +112,7 @@ ssh -F ssh_config example :::: {.note} This section corresponds to the `basic` section of the [Nextcloud -manual](services-nextcloud.html#services-nextcloud-server-usage-basic). +manual](services-nextcloud.html#services-nextcloudserver-usage-basic). :::: Assuming you already deployed the `basic` demo, now you must add the following entry to the @@ -143,7 +143,7 @@ This is the admin user of Nextcloud and that's the end of the `basic` demo. :::: {.note} This section corresponds to the `ldap` section of the [Nextcloud -manual](services-nextcloud.html#services-nextcloud-server-usage-ldap). +manual](services-nextcloud.html#services-nextcloudserver-usage-ldap). :::: Assuming you already deployed the `ldap` demo, now you must add the following entry to the @@ -182,7 +182,7 @@ This is the end of the `ldap` demo. :::: {.note} This section corresponds to the `sso` section of the [Nextcloud -manual](services-nextcloud.html#services-nextcloud-server-usage-oidc). +manual](services-nextcloud.html#services-nextcloudserver-usage-oidc). :::: At this point, it is assumed you already deployed the `sso` demo. There is no host to add to diff --git a/docs/default.nix b/docs/default.nix index c30758a3..1e3594ec 100644 --- a/docs/default.nix +++ b/docs/default.nix @@ -195,6 +195,7 @@ in stdenv.mkDerivation { nixos-render-docs manual html \ --manpage-urls ${manpage-urls} \ + --redirects ./redirects.json \ --media-dir media \ --revision ${lib.trivial.revisionWithDefault release} \ --stylesheet static/style.css \ diff --git a/docs/demos.md b/docs/demos.md index f83a818e..730ee538 100644 --- a/docs/demos.md +++ b/docs/demos.md @@ -7,6 +7,6 @@ your local machine with minimal manual steps. demo/homeassistant/README.md ``` -```{=include=} chapters html:into-file=//demo-nextcloud-server.html +```{=include=} chapters html:into-file=//demo-nextcloud.html demo/nextcloud/README.md ``` diff --git a/docs/options.md b/docs/options.md index 7641d710..c5f312d6 100644 --- a/docs/options.md +++ b/docs/options.md @@ -1,4 +1,4 @@ -# All Options {#ch-options} +# All Options {#all-options} ```{=include=} options id-prefix: opt- diff --git a/docs/redirects.json b/docs/redirects.json new file mode 100644 index 00000000..a6d94c47 --- /dev/null +++ b/docs/redirects.json @@ -0,0 +1,1625 @@ +{ + "all-options": [ + "options.html#all-options" + ], + "blocks": [ + "blocks.html#blocks" + ], + "blocks-monitoring": [ + "blocks-monitoring.html#blocks-monitoring" + ], + "blocks-monitoring-budget-alerts": [ + "blocks-monitoring.html#blocks-monitoring-budget-alerts" + ], + "blocks-monitoring-configuration": [ + "blocks-monitoring.html#blocks-monitoring-configuration" + ], + "blocks-monitoring-error-dashboard": [ + "blocks-monitoring.html#blocks-monitoring-error-dashboard" + ], + "blocks-monitoring-performance-dashboard": [ + "blocks-monitoring.html#blocks-monitoring-performance-dashboard" + ], + "blocks-monitoring-provisioning": [ + "blocks-monitoring.html#blocks-monitoring-provisioning" + ], + "blocks-postgresql": [ + "blocks-postgresql.html#blocks-postgresql" + ], + "blocks-postgresql-contract-databasebackup": [ + "blocks-postgresql.html#blocks-postgresql-contract-databasebackup" + ], + "blocks-postgresql-contract-databasebackup-all": [ + "blocks-postgresql.html#blocks-postgresql-contract-databasebackup-all" + ], + "blocks-postgresql-options": [ + "blocks-postgresql.html#blocks-postgresql-options" + ], + "blocks-postgresql-options-shb.postgresql.databasebackup": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.databasebackup" + ], + "blocks-postgresql-options-shb.postgresql.databasebackup.backupCmd": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.databasebackup.backupCmd" + ], + "blocks-postgresql-options-shb.postgresql.databasebackup.backupName": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.databasebackup.backupName" + ], + "blocks-postgresql-options-shb.postgresql.databasebackup.restoreCmd": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.databasebackup.restoreCmd" + ], + "blocks-postgresql-options-shb.postgresql.databasebackup.user": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.databasebackup.user" + ], + "blocks-postgresql-options-shb.postgresql.debug": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.debug" + ], + "blocks-postgresql-options-shb.postgresql.enableTCPIP": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.enableTCPIP" + ], + "blocks-postgresql-options-shb.postgresql.ensures": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.ensures" + ], + "blocks-postgresql-options-shb.postgresql.ensures._.database": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.ensures._.database" + ], + "blocks-postgresql-options-shb.postgresql.ensures._.passwordFile": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.ensures._.passwordFile" + ], + "blocks-postgresql-options-shb.postgresql.ensures._.username": [ + "blocks-postgresql.html#blocks-postgresql-options-shb.postgresql.ensures._.username" + ], + "blocks-postgresql-tests": [ + "blocks-postgresql.html#blocks-postgresql-tests" + ], + "blocks-restic": [ + "blocks-restic.html#blocks-restic" + ], + "blocks-restic-contract-provider": [ + "blocks-restic.html#blocks-restic-contract-provider" + ], + "blocks-restic-demo": [ + "blocks-restic.html#blocks-restic-demo" + ], + "blocks-restic-maintenance": [ + "blocks-restic.html#blocks-restic-maintenance" + ], + "blocks-restic-maintenance-troubleshooting": [ + "blocks-restic.html#blocks-restic-maintenance-troubleshooting" + ], + "blocks-restic-monitoring": [ + "blocks-restic.html#blocks-restic-monitoring" + ], + "blocks-restic-options": [ + "blocks-restic.html#blocks-restic-options" + ], + "blocks-restic-options-shb.restic.databases": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases" + ], + "blocks-restic-options-shb.restic.databases._name_.request": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.request" + ], + "blocks-restic-options-shb.restic.databases._name_.request.backupCmd": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.request.backupCmd" + ], + "blocks-restic-options-shb.restic.databases._name_.request.backupName": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.request.backupName" + ], + "blocks-restic-options-shb.restic.databases._name_.request.restoreCmd": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.request.restoreCmd" + ], + "blocks-restic-options-shb.restic.databases._name_.request.user": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.request.user" + ], + "blocks-restic-options-shb.restic.databases._name_.result": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.result" + ], + "blocks-restic-options-shb.restic.databases._name_.result.backupService": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.result.backupService" + ], + "blocks-restic-options-shb.restic.databases._name_.result.restoreScript": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.result.restoreScript" + ], + "blocks-restic-options-shb.restic.databases._name_.settings": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.enable": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.enable" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.limitDownloadKiBs": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.limitDownloadKiBs" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.limitUploadKiBs": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.limitUploadKiBs" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.group": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.group" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.mode": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.mode" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.owner": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.owner" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.restartUnits": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase.request.restartUnits" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase.result": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase.result" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.passphrase.result.path": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.passphrase.result.path" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.repository": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.repository" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.repository.path": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.repository.path" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.repository.secrets": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.repository.secrets" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.repository.secrets._name_.source": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.repository.secrets._name_.source" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.repository.secrets._name_.transform": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.repository.secrets._name_.transform" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.repository.timerConfig": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.repository.timerConfig" + ], + "blocks-restic-options-shb.restic.databases._name_.settings.retention": [ + "blocks-restic.html#blocks-restic-options-shb.restic.databases._name_.settings.retention" + ], + "blocks-restic-options-shb.restic.instances": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances" + ], + "blocks-restic-options-shb.restic.instances._name_.request": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.request" + ], + "blocks-restic-options-shb.restic.instances._name_.request.excludePatterns": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.request.excludePatterns" + ], + "blocks-restic-options-shb.restic.instances._name_.request.hooks": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.request.hooks" + ], + "blocks-restic-options-shb.restic.instances._name_.request.hooks.after_backup": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.request.hooks.after_backup" + ], + "blocks-restic-options-shb.restic.instances._name_.request.hooks.before_backup": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.request.hooks.before_backup" + ], + "blocks-restic-options-shb.restic.instances._name_.request.sourceDirectories": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.request.sourceDirectories" + ], + "blocks-restic-options-shb.restic.instances._name_.request.user": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.request.user" + ], + "blocks-restic-options-shb.restic.instances._name_.result": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.result" + ], + "blocks-restic-options-shb.restic.instances._name_.result.backupService": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.result.backupService" + ], + "blocks-restic-options-shb.restic.instances._name_.result.restoreScript": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.result.restoreScript" + ], + "blocks-restic-options-shb.restic.instances._name_.settings": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.enable": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.enable" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.limitDownloadKiBs": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.limitDownloadKiBs" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.limitUploadKiBs": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.limitUploadKiBs" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.group": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.group" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.mode": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.mode" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.owner": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.owner" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.restartUnits": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase.request.restartUnits" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase.result": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase.result" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.passphrase.result.path": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.passphrase.result.path" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.repository": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.repository" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.repository.path": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.repository.path" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.repository.secrets": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.repository.secrets" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.repository.secrets._name_.source": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.repository.secrets._name_.source" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.repository.secrets._name_.transform": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.repository.secrets._name_.transform" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.repository.timerConfig": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.repository.timerConfig" + ], + "blocks-restic-options-shb.restic.instances._name_.settings.retention": [ + "blocks-restic.html#blocks-restic-options-shb.restic.instances._name_.settings.retention" + ], + "blocks-restic-options-shb.restic.performance": [ + "blocks-restic.html#blocks-restic-options-shb.restic.performance" + ], + "blocks-restic-options-shb.restic.performance.ioPriority": [ + "blocks-restic.html#blocks-restic-options-shb.restic.performance.ioPriority" + ], + "blocks-restic-options-shb.restic.performance.ioSchedulingClass": [ + "blocks-restic.html#blocks-restic-options-shb.restic.performance.ioSchedulingClass" + ], + "blocks-restic-options-shb.restic.performance.niceness": [ + "blocks-restic.html#blocks-restic-options-shb.restic.performance.niceness" + ], + "blocks-restic-tests": [ + "blocks-restic.html#blocks-restic-tests" + ], + "blocks-restic-usage": [ + "blocks-restic.html#blocks-restic-usage" + ], + "blocks-restic-usage-multiple": [ + "blocks-restic.html#blocks-restic-usage-multiple" + ], + "blocks-restic-usage-provider-contract": [ + "blocks-restic.html#blocks-restic-usage-provider-contract" + ], + "blocks-restic-usage-provider-manual": [ + "blocks-restic.html#blocks-restic-usage-provider-manual" + ], + "blocks-restic-usage-provider-remote": [ + "blocks-restic.html#blocks-restic-usage-provider-remote" + ], + "blocks-sops": [ + "blocks-sops.html#blocks-sops" + ], + "blocks-sops-contract-provider": [ + "blocks-sops.html#blocks-sops-contract-provider" + ], + "blocks-sops-options": [ + "blocks-sops.html#blocks-sops-options" + ], + "blocks-sops-options-shb.sops.secret": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret" + ], + "blocks-sops-options-shb.sops.secret._name_.request": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.request" + ], + "blocks-sops-options-shb.sops.secret._name_.request.group": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.request.group" + ], + "blocks-sops-options-shb.sops.secret._name_.request.mode": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.request.mode" + ], + "blocks-sops-options-shb.sops.secret._name_.request.owner": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.request.owner" + ], + "blocks-sops-options-shb.sops.secret._name_.request.restartUnits": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.request.restartUnits" + ], + "blocks-sops-options-shb.sops.secret._name_.result": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.result" + ], + "blocks-sops-options-shb.sops.secret._name_.result.path": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.result.path" + ], + "blocks-sops-options-shb.sops.secret._name_.settings": [ + "blocks-sops.html#blocks-sops-options-shb.sops.secret._name_.settings" + ], + "blocks-sops-usage": [ + "blocks-sops.html#blocks-sops-usage" + ], + "blocks-sops-usage-requester": [ + "blocks-sops.html#blocks-sops-usage-requester" + ], + "block-ssl": [ + "blocks-ssl.html#block-ssl" + ], + "block-ssl-debug": [ + "blocks-ssl.html#block-ssl-debug" + ], + "block-ssl-impl-lets-encrypt": [ + "blocks-ssl.html#block-ssl-impl-lets-encrypt" + ], + "block-ssl-impl-self-signed": [ + "blocks-ssl.html#block-ssl-impl-self-signed" + ], + "block-ssl-options": [ + "blocks-ssl.html#block-ssl-options" + ], + "block-ssl-tests": [ + "blocks-ssl.html#block-ssl-tests" + ], + "block-ssl-usage": [ + "blocks-ssl.html#block-ssl-usage" + ], + "blocks-ssl-options-shb.certs.cas.selfsigned": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.cas.selfsigned" + ], + "blocks-ssl-options-shb.certs.cas.selfsigned._name_.name": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.cas.selfsigned._name_.name" + ], + "blocks-ssl-options-shb.certs.cas.selfsigned._name_.paths": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.cas.selfsigned._name_.paths" + ], + "blocks-ssl-options-shb.certs.cas.selfsigned._name_.paths.cert": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.cas.selfsigned._name_.paths.cert" + ], + "blocks-ssl-options-shb.certs.cas.selfsigned._name_.paths.key": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.cas.selfsigned._name_.paths.key" + ], + "blocks-ssl-options-shb.certs.cas.selfsigned._name_.systemdService": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.cas.selfsigned._name_.systemdService" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.additionalEnvironment": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.additionalEnvironment" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.adminEmail": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.adminEmail" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.afterAndWants": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.afterAndWants" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.credentialsFile": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.credentialsFile" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.debug": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.debug" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.dnsProvider": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.dnsProvider" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.dnsResolver": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.dnsResolver" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.domain": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.domain" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.extraDomains": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.extraDomains" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.group": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.group" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.makeAvailableToUser": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.makeAvailableToUser" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.paths": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.paths" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.paths.cert": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.paths.cert" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.paths.key": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.paths.key" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.reloadServices": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.reloadServices" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.stagingServer": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.stagingServer" + ], + "blocks-ssl-options-shb.certs.certs.letsencrypt._name_.systemdService": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt._name_.systemdService" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.paths": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.paths" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.paths.cert": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.paths.cert" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.paths.key": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.paths.key" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.systemdService": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.ca.systemdService" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.domain": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.domain" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.extraDomains": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.extraDomains" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.group": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.group" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.paths": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.paths" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.paths.cert": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.paths.cert" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.paths.key": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.paths.key" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.reloadServices": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.reloadServices" + ], + "blocks-ssl-options-shb.certs.certs.selfsigned._name_.systemdService": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned._name_.systemdService" + ], + "blocks-ssl-options-shb.certs.systemdService": [ + "blocks-ssl.html#blocks-ssl-options-shb.certs.systemdService" + ], + "contract-backup": [ + "contracts-backup.html#contract-backup" + ], + "contract-backup-options": [ + "contracts-backup.html#contract-backup-options" + ], + "contract-backup-providers": [ + "contracts-backup.html#contract-backup-providers" + ], + "contract-backup-requesters": [ + "contracts-backup.html#contract-backup-requesters" + ], + "contract-backup-usage": [ + "contracts-backup.html#contract-backup-usage" + ], + "contract-databasebackup": [ + "contracts-databasebackup.html#contract-databasebackup" + ], + "contract-databasebackup-options": [ + "contracts-databasebackup.html#contract-databasebackup-options" + ], + "contract-databasebackup-providers": [ + "contracts-databasebackup.html#contract-databasebackup-providers" + ], + "contract-databasebackup-requesters": [ + "contracts-databasebackup.html#contract-databasebackup-requesters" + ], + "contract-databasebackup-usage": [ + "contracts-databasebackup.html#contract-databasebackup-usage" + ], + "contract-secret": [ + "contracts-secret.html#contract-secret" + ], + "contract-secret-motivation": [ + "contracts-secret.html#contract-secret-motivation" + ], + "contract-secret-options": [ + "contracts-secret.html#contract-secret-options" + ], + "contract-secret-usage": [ + "contracts-secret.html#contract-secret-usage" + ], + "contract-secret-usage-enduser": [ + "contracts-secret.html#contract-secret-usage-enduser" + ], + "contract-secret-usage-provider": [ + "contracts-secret.html#contract-secret-usage-provider" + ], + "contract-secret-usage-requester": [ + "contracts-secret.html#contract-secret-usage-requester" + ], + "contract-ssl": [ + "contracts-ssl.html#contract-ssl" + ], + "contract-ssl-impl-custom": [ + "contracts-ssl.html#contract-ssl-impl-custom" + ], + "contract-ssl-impl-shb": [ + "contracts-ssl.html#contract-ssl-impl-shb" + ], + "contract-ssl-options": [ + "contracts-ssl.html#contract-ssl-options" + ], + "contract-ssl-usage": [ + "contracts-ssl.html#contract-ssl-usage" + ], + "contracts": [ + "contracts.html#contracts" + ], + "contracts-nixpkgs": [ + "contracts.html#contracts-nixpkgs" + ], + "contracts-provided": [ + "contracts.html#contracts-provided" + ], + "contracts-schema": [ + "contracts.html#contracts-schema" + ], + "contracts-test": [ + "contracts.html#contracts-test" + ], + "contracts-videos": [ + "contracts.html#contracts-videos" + ], + "contracts-why": [ + "contracts.html#contracts-why" + ], + "contracts-backup-options-shb.contracts.backup": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup" + ], + "contracts-backup-options-shb.contracts.backup.request": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.request" + ], + "contracts-backup-options-shb.contracts.backup.request.excludePatterns": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.request.excludePatterns" + ], + "contracts-backup-options-shb.contracts.backup.request.hooks": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.request.hooks" + ], + "contracts-backup-options-shb.contracts.backup.request.hooks.after_backup": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.request.hooks.after_backup" + ], + "contracts-backup-options-shb.contracts.backup.request.hooks.before_backup": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.request.hooks.before_backup" + ], + "contracts-backup-options-shb.contracts.backup.request.sourceDirectories": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.request.sourceDirectories" + ], + "contracts-backup-options-shb.contracts.backup.request.user": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.request.user" + ], + "contracts-backup-options-shb.contracts.backup.result": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.result" + ], + "contracts-backup-options-shb.contracts.backup.result.backupService": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.result.backupService" + ], + "contracts-backup-options-shb.contracts.backup.result.restoreScript": [ + "contracts-backup.html#contracts-backup-options-shb.contracts.backup.result.restoreScript" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.request": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.request" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.request.backupCmd": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.request.backupCmd" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.request.backupName": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.request.backupName" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.request.restoreCmd": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.request.restoreCmd" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.request.user": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.request.user" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.result": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.result" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.result.backupService": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.result.backupService" + ], + "contracts-databasebackup-options-shb.contracts.databasebackup.result.restoreScript": [ + "contracts-databasebackup.html#contracts-databasebackup-options-shb.contracts.databasebackup.result.restoreScript" + ], + "contracts-secret-options-shb.contracts.secret": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret" + ], + "contracts-secret-options-shb.contracts.secret.request": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.request" + ], + "contracts-secret-options-shb.contracts.secret.request.group": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.request.group" + ], + "contracts-secret-options-shb.contracts.secret.request.mode": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.request.mode" + ], + "contracts-secret-options-shb.contracts.secret.request.owner": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.request.owner" + ], + "contracts-secret-options-shb.contracts.secret.request.restartUnits": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.request.restartUnits" + ], + "contracts-secret-options-shb.contracts.secret.result": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.result" + ], + "contracts-secret-options-shb.contracts.secret.result.path": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.result.path" + ], + "contracts-secret-options-shb.contracts.secret.settings": [ + "contracts-secret.html#contracts-secret-options-shb.contracts.secret.settings" + ], + "contracts-ssl-options-shb.contracts.ssl": [ + "contracts-ssl.html#contracts-ssl-options-shb.contracts.ssl" + ], + "contracts-ssl-options-shb.contracts.ssl.paths": [ + "contracts-ssl.html#contracts-ssl-options-shb.contracts.ssl.paths" + ], + "contracts-ssl-options-shb.contracts.ssl.paths.cert": [ + "contracts-ssl.html#contracts-ssl-options-shb.contracts.ssl.paths.cert" + ], + "contracts-ssl-options-shb.contracts.ssl.paths.key": [ + "contracts-ssl.html#contracts-ssl-options-shb.contracts.ssl.paths.key" + ], + "contracts-ssl-options-shb.contracts.ssl.systemdService": [ + "contracts-ssl.html#contracts-ssl-options-shb.contracts.ssl.systemdService" + ], + "contributing": [ + "contributing.html#contributing" + ], + "contributing-chat": [ + "contributing.html#contributing-chat" + ], + "contributing-deploy-colmena": [ + "contributing.html#contributing-deploy-colmena" + ], + "contributing-diff": [ + "contributing.html#contributing-diff" + ], + "contributing-diff-deployed": [ + "contributing.html#contributing-diff-deployed" + ], + "contributing-diff-full": [ + "contributing.html#contributing-diff-full" + ], + "contributing-diff-todeploy": [ + "contributing.html#contributing-diff-todeploy" + ], + "contributing-diff-version": [ + "contributing.html#contributing-diff-version" + ], + "contributing-gensecret": [ + "contributing.html#contributing-gensecret" + ], + "contributing-links": [ + "contributing.html#contributing-links" + ], + "contributing-localversion": [ + "contributing.html#contributing-localversion" + ], + "contributing-runtests": [ + "contributing.html#contributing-runtests" + ], + "contributing-upload": [ + "contributing.html#contributing-upload" + ], + "contributing-upstream": [ + "contributing.html#contributing-upstream" + ], + "demo-homeassistant": [ + "demo-homeassistant.html#demo-homeassistant" + ], + "demo-homeassistant-deploy": [ + "demo-homeassistant.html#demo-homeassistant-deploy" + ], + "demo-homeassistant-deploy-basic": [ + "demo-homeassistant.html#demo-homeassistant-deploy-basic" + ], + "demo-homeassistant-deploy-ldap": [ + "demo-homeassistant.html#demo-homeassistant-deploy-ldap" + ], + "demo-homeassistant-deploy-nixosrebuild": [ + "demo-homeassistant.html#demo-homeassistant-deploy-nixosrebuild" + ], + "demo-homeassistant-files": [ + "demo-homeassistant.html#demo-homeassistant-files" + ], + "demo-homeassistant-in-more-details": [ + "demo-homeassistant.html#demo-homeassistant-in-more-details" + ], + "demo-homeassistant-secrets": [ + "demo-homeassistant.html#demo-homeassistant-secrets" + ], + "demo-homeassistant-tips-deploy": [ + "demo-homeassistant.html#demo-homeassistant-tips-deploy" + ], + "demo-homeassistant-tips-public-key-necessity": [ + "demo-homeassistant.html#demo-homeassistant-tips-public-key-necessity" + ], + "demo-homeassistant-tips-ssh": [ + "demo-homeassistant.html#demo-homeassistant-tips-ssh" + ], + "demo-homeassistant-tips-update-demo": [ + "demo-homeassistant.html#demo-homeassistant-tips-update-demo" + ], + "demo-homeassistant-virtual-machine": [ + "demo-homeassistant.html#demo-homeassistant-virtual-machine" + ], + "demo-homeassistant-deploy-colmena": [ + "demo-homeassistant.html#demo-homeassistant-deploy-colmena" + ], + "demo-nextcloud": [ + "demo-nextcloud.html#demo-nextcloud" + ], + "demo-nextcloud-deploy": [ + "demo-nextcloud.html#demo-nextcloud-deploy" + ], + "demo-nextcloud-deploy-basic": [ + "demo-nextcloud.html#demo-nextcloud-deploy-basic" + ], + "demo-nextcloud-deploy-colmena": [ + "demo-nextcloud.html#demo-nextcloud-deploy-colmena" + ], + "demo-nextcloud-deploy-ldap": [ + "demo-nextcloud.html#demo-nextcloud-deploy-ldap" + ], + "demo-nextcloud-deploy-nixosrebuild": [ + "demo-nextcloud.html#demo-nextcloud-deploy-nixosrebuild" + ], + "demo-nextcloud-deploy-sso": [ + "demo-nextcloud.html#demo-nextcloud-deploy-sso" + ], + "demo-nextcloud-tips": [ + "demo-nextcloud.html#demo-nextcloud-tips" + ], + "demo-nextcloud-tips-deploy": [ + "demo-nextcloud.html#demo-nextcloud-tips-deploy" + ], + "demo-nextcloud-tips-files": [ + "demo-nextcloud.html#demo-nextcloud-tips-files" + ], + "demo-nextcloud-tips-public-key-necessity": [ + "demo-nextcloud.html#demo-nextcloud-tips-public-key-necessity" + ], + "demo-nextcloud-tips-secrets": [ + "demo-nextcloud.html#demo-nextcloud-tips-secrets" + ], + "demo-nextcloud-tips-ssh": [ + "demo-nextcloud.html#demo-nextcloud-tips-ssh" + ], + "demo-nextcloud-tips-update-demo": [ + "demo-nextcloud.html#demo-nextcloud-tips-update-demo" + ], + "demo-nextcloud-tips-virtual-machine": [ + "demo-nextcloud.html#demo-nextcloud-tips-virtual-machine" + ], + "demos": [ + "demos.html#demos" + ], + "preface": [ + "index.html#preface" + ], + "self-host-blocks-manual": [ + "index.html#self-host-blocks-manual" + ], + "services": [ + "services.html#services" + ], + "services-forgejo": [ + "services-forgejo.html#services-forgejo" + ], + "services-forgejo-debug": [ + "services-forgejo.html#services-forgejo-debug" + ], + "services-forgejo-features": [ + "services-forgejo.html#services-forgejo-features" + ], + "services-forgejo-options": [ + "services-forgejo.html#services-forgejo-options" + ], + "services-forgejo-options-shb.forgejo.adminPassword": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword" + ], + "services-forgejo-options-shb.forgejo.adminPassword.request": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword.request" + ], + "services-forgejo-options-shb.forgejo.adminPassword.request.group": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword.request.group" + ], + "services-forgejo-options-shb.forgejo.adminPassword.request.mode": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword.request.mode" + ], + "services-forgejo-options-shb.forgejo.adminPassword.request.owner": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword.request.owner" + ], + "services-forgejo-options-shb.forgejo.adminPassword.request.restartUnits": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword.request.restartUnits" + ], + "services-forgejo-options-shb.forgejo.adminPassword.result": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword.result" + ], + "services-forgejo-options-shb.forgejo.adminPassword.result.path": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.adminPassword.result.path" + ], + "services-forgejo-options-shb.forgejo.backup": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.backup" + ], + "services-forgejo-options-shb.forgejo.backup.excludePatterns": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.backup.excludePatterns" + ], + "services-forgejo-options-shb.forgejo.backup.hooks": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.backup.hooks" + ], + "services-forgejo-options-shb.forgejo.backup.hooks.after_backup": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.backup.hooks.after_backup" + ], + "services-forgejo-options-shb.forgejo.backup.hooks.before_backup": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.backup.hooks.before_backup" + ], + "services-forgejo-options-shb.forgejo.backup.sourceDirectories": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.backup.sourceDirectories" + ], + "services-forgejo-options-shb.forgejo.backup.user": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.backup.user" + ], + "services-forgejo-options-shb.forgejo.databasePassword": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword" + ], + "services-forgejo-options-shb.forgejo.databasePassword.request": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword.request" + ], + "services-forgejo-options-shb.forgejo.databasePassword.request.group": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword.request.group" + ], + "services-forgejo-options-shb.forgejo.databasePassword.request.mode": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword.request.mode" + ], + "services-forgejo-options-shb.forgejo.databasePassword.request.owner": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword.request.owner" + ], + "services-forgejo-options-shb.forgejo.databasePassword.request.restartUnits": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword.request.restartUnits" + ], + "services-forgejo-options-shb.forgejo.databasePassword.result": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword.result" + ], + "services-forgejo-options-shb.forgejo.databasePassword.result.path": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.databasePassword.result.path" + ], + "services-forgejo-options-shb.forgejo.debug": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.debug" + ], + "services-forgejo-options-shb.forgejo.domain": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.domain" + ], + "services-forgejo-options-shb.forgejo.enable": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.enable" + ], + "services-forgejo-options-shb.forgejo.hostPackages": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.hostPackages" + ], + "services-forgejo-options-shb.forgejo.ldap": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap" + ], + "services-forgejo-options-shb.forgejo.ldap.adminGroup": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminGroup" + ], + "services-forgejo-options-shb.forgejo.ldap.adminName": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminName" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword.request": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword.request" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword.request.group": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword.request.group" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword.request.mode": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword.request.mode" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword.request.owner": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword.request.owner" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword.request.restartUnits": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword.request.restartUnits" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword.result": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword.result" + ], + "services-forgejo-options-shb.forgejo.ldap.adminPassword.result.path": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.adminPassword.result.path" + ], + "services-forgejo-options-shb.forgejo.ldap.dcdomain": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.dcdomain" + ], + "services-forgejo-options-shb.forgejo.ldap.enable": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.enable" + ], + "services-forgejo-options-shb.forgejo.ldap.host": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.host" + ], + "services-forgejo-options-shb.forgejo.ldap.port": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.port" + ], + "services-forgejo-options-shb.forgejo.ldap.provider": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.provider" + ], + "services-forgejo-options-shb.forgejo.ldap.userGroup": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ldap.userGroup" + ], + "services-forgejo-options-shb.forgejo.localActionRunner": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.localActionRunner" + ], + "services-forgejo-options-shb.forgejo.mount": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.mount" + ], + "services-forgejo-options-shb.forgejo.mount.path": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.mount.path" + ], + "services-forgejo-options-shb.forgejo.repositoryRoot": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.repositoryRoot" + ], + "services-forgejo-options-shb.forgejo.smtp": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.smtp" + ], + "services-forgejo-options-shb.forgejo.smtp.from_address": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.smtp.from_address" + ], + "services-forgejo-options-shb.forgejo.smtp.host": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.smtp.host" + ], + "services-forgejo-options-shb.forgejo.smtp.passwordFile": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.smtp.passwordFile" + ], + "services-forgejo-options-shb.forgejo.smtp.port": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.smtp.port" + ], + "services-forgejo-options-shb.forgejo.smtp.username": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.smtp.username" + ], + "services-forgejo-options-shb.forgejo.ssl": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ssl" + ], + "services-forgejo-options-shb.forgejo.ssl.paths": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ssl.paths" + ], + "services-forgejo-options-shb.forgejo.ssl.paths.cert": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ssl.paths.cert" + ], + "services-forgejo-options-shb.forgejo.ssl.paths.key": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ssl.paths.key" + ], + "services-forgejo-options-shb.forgejo.ssl.systemdService": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.ssl.systemdService" + ], + "services-forgejo-options-shb.forgejo.sso": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso" + ], + "services-forgejo-options-shb.forgejo.sso.authorization_policy": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.authorization_policy" + ], + "services-forgejo-options-shb.forgejo.sso.clientID": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.clientID" + ], + "services-forgejo-options-shb.forgejo.sso.enable": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.enable" + ], + "services-forgejo-options-shb.forgejo.sso.endpoint": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.endpoint" + ], + "services-forgejo-options-shb.forgejo.sso.provider": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.provider" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.group": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.group" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.mode": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.mode" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.owner": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.owner" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.restartUnits": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.request.restartUnits" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.result": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.result" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.result.path": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecretForAuthelia.result.path" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret.request": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret.request" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret.request.group": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret.request.group" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret.request.mode": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret.request.mode" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret.request.owner": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret.request.owner" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret.request.restartUnits": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret.request.restartUnits" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret.result": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret.result" + ], + "services-forgejo-options-shb.forgejo.sso.sharedSecret.result.path": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.sso.sharedSecret.result.path" + ], + "services-forgejo-options-shb.forgejo.subdomain": [ + "services-forgejo.html#services-forgejo-options-shb.forgejo.subdomain" + ], + "services-forgejo-secrets": [ + "services-forgejo.html#services-forgejo-secrets" + ], + "services-forgejo-usage": [ + "services-forgejo.html#services-forgejo-usage" + ], + "services-forgejo-usage-backup": [ + "services-forgejo.html#services-forgejo-usage-backup" + ], + "services-forgejo-usage-basic": [ + "services-forgejo.html#services-forgejo-usage-basic" + ], + "services-forgejo-usage-extra-settings": [ + "services-forgejo.html#services-forgejo-usage-extra-settings" + ], + "services-forgejo-usage-ldap": [ + "services-forgejo.html#services-forgejo-usage-ldap" + ], + "services-forgejo-usage-sso": [ + "services-forgejo.html#services-forgejo-usage-sso" + ], + "services-nextcloudserver": [ + "services-nextcloud.html#services-nextcloudserver" + ], + "services-nextcloudserver-debug": [ + "services-nextcloud.html#services-nextcloudserver-debug" + ], + "services-nextcloudserver-demo": [ + "services-nextcloud.html#services-nextcloudserver-demo" + ], + "services-nextcloudserver-features": [ + "services-nextcloud.html#services-nextcloudserver-features" + ], + "services-nextcloudserver-maintenance": [ + "services-nextcloud.html#services-nextcloudserver-maintenance" + ], + "services-nextcloudserver-options": [ + "services-nextcloud.html#services-nextcloudserver-options" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass.request": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass.request" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass.request.group": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass.request.group" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass.request.mode": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass.request.mode" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass.request.owner": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass.request.owner" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass.request.restartUnits": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass.request.restartUnits" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass.result": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass.result" + ], + "services-nextcloudserver-options-shb.nextcloud.adminPass.result.path": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminPass.result.path" + ], + "services-nextcloudserver-options-shb.nextcloud.adminUser": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.adminUser" + ], + "services-nextcloudserver-options-shb.nextcloud.alwaysApplyExpensiveMigrations": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.alwaysApplyExpensiveMigrations" + ], + "services-nextcloudserver-options-shb.nextcloud.apps": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.externalStorage": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.externalStorage" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.enable" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.userLocalMount": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.userLocalMount" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.userLocalMount.directory": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.userLocalMount.directory" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.userLocalMount.mountName": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.externalStorage.userLocalMount.mountName" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminName": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminName" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.group": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.group" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.mode": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.mode" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.owner": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.owner" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.restartUnits": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.request.restartUnits" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.result": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.result" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.result.path": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.adminPassword.result.path" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.configID": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.configID" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.dcdomain": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.dcdomain" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.enable" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.host": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.host" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.port": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.port" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.ldap.userGroup": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.ldap.userGroup" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.enable" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.jwtSecretFile": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.jwtSecretFile" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.localNetworkIPRange": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.localNetworkIPRange" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.paths": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.paths" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.paths.cert": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.paths.cert" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.paths.key": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.paths.key" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.systemdService": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.ssl.systemdService" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.subdomain": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.onlyoffice.subdomain" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator.debug": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator.debug" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator.enable" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator.recommendedSettings": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.previewgenerator.recommendedSettings" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.authorization_policy": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.authorization_policy" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.clientID": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.clientID" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.enable" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.endpoint": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.endpoint" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.fallbackDefaultAuth": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.fallbackDefaultAuth" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.port": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.port" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.provider": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.provider" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.group": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.group" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.mode": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.mode" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.owner": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.owner" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.restartUnits": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.request.restartUnits" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.result": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.result" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.result.path": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secretForAuthelia.result.path" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.group": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.group" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.mode": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.mode" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.owner": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.owner" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.restartUnits": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.request.restartUnits" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.result": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.result" + ], + "services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.result.path": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.apps.sso.secret.result.path" + ], + "services-nextcloudserver-options-shb.nextcloud.autoDisableMaintenanceModeOnStart": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.autoDisableMaintenanceModeOnStart" + ], + "services-nextcloudserver-options-shb.nextcloud.backup": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.backup" + ], + "services-nextcloudserver-options-shb.nextcloud.backup.excludePatterns": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.backup.excludePatterns" + ], + "services-nextcloudserver-options-shb.nextcloud.backup.hooks": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.backup.hooks" + ], + "services-nextcloudserver-options-shb.nextcloud.backup.hooks.after_backup": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.backup.hooks.after_backup" + ], + "services-nextcloudserver-options-shb.nextcloud.backup.hooks.before_backup": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.backup.hooks.before_backup" + ], + "services-nextcloudserver-options-shb.nextcloud.backup.sourceDirectories": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.backup.sourceDirectories" + ], + "services-nextcloudserver-options-shb.nextcloud.backup.user": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.backup.user" + ], + "services-nextcloudserver-options-shb.nextcloud.dataDir": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.dataDir" + ], + "services-nextcloudserver-options-shb.nextcloud.debug": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.debug" + ], + "services-nextcloudserver-options-shb.nextcloud.defaultPhoneRegion": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.defaultPhoneRegion" + ], + "services-nextcloudserver-options-shb.nextcloud.domain": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.domain" + ], + "services-nextcloudserver-options-shb.nextcloud.enable": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.enable" + ], + "services-nextcloudserver-options-shb.nextcloud.externalFqdn": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.externalFqdn" + ], + "services-nextcloudserver-options-shb.nextcloud.extraApps": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.extraApps" + ], + "services-nextcloudserver-options-shb.nextcloud.maxUploadSize": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.maxUploadSize" + ], + "services-nextcloudserver-options-shb.nextcloud.mountPointServices": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.mountPointServices" + ], + "services-nextcloudserver-options-shb.nextcloud.phpFpmPoolSettings": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.phpFpmPoolSettings" + ], + "services-nextcloudserver-options-shb.nextcloud.port": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.port" + ], + "services-nextcloudserver-options-shb.nextcloud.postgresSettings": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.postgresSettings" + ], + "services-nextcloudserver-options-shb.nextcloud.ssl": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.ssl" + ], + "services-nextcloudserver-options-shb.nextcloud.ssl.paths": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.ssl.paths" + ], + "services-nextcloudserver-options-shb.nextcloud.ssl.paths.cert": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.ssl.paths.cert" + ], + "services-nextcloudserver-options-shb.nextcloud.ssl.paths.key": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.ssl.paths.key" + ], + "services-nextcloudserver-options-shb.nextcloud.ssl.systemdService": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.ssl.systemdService" + ], + "services-nextcloudserver-options-shb.nextcloud.subdomain": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.subdomain" + ], + "services-nextcloudserver-options-shb.nextcloud.tracing": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.tracing" + ], + "services-nextcloudserver-options-shb.nextcloud.version": [ + "services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.version" + ], + "services-nextcloudserver-server-usage-appdata": [ + "services-nextcloud.html#services-nextcloudserver-server-usage-appdata" + ], + "services-nextcloudserver-server-usage-monitoring": [ + "services-nextcloud.html#services-nextcloudserver-server-usage-monitoring" + ], + "services-nextcloudserver-server-usage-tracing": [ + "services-nextcloud.html#services-nextcloudserver-server-usage-tracing" + ], + "services-nextcloudserver-usage": [ + "services-nextcloud.html#services-nextcloudserver-usage" + ], + "services-nextcloudserver-usage-backup": [ + "services-nextcloud.html#services-nextcloudserver-usage-backup" + ], + "services-nextcloudserver-usage-basic": [ + "services-nextcloud.html#services-nextcloudserver-usage-basic" + ], + "services-nextcloudserver-usage-externalstorage": [ + "services-nextcloud.html#services-nextcloudserver-usage-externalstorage" + ], + "services-nextcloudserver-usage-https": [ + "services-nextcloud.html#services-nextcloudserver-usage-https" + ], + "services-nextcloudserver-usage-ldap": [ + "services-nextcloud.html#services-nextcloudserver-usage-ldap" + ], + "services-nextcloudserver-usage-mount-point": [ + "services-nextcloud.html#services-nextcloudserver-usage-mount-point" + ], + "services-nextcloudserver-usage-oidc": [ + "services-nextcloud.html#services-nextcloudserver-usage-oidc" + ], + "services-nextcloudserver-usage-onlyoffice": [ + "services-nextcloud.html#services-nextcloudserver-usage-onlyoffice" + ], + "services-nextcloudserver-usage-phpfpm": [ + "services-nextcloud.html#services-nextcloudserver-usage-phpfpm" + ], + "services-nextcloudserver-usage-postgres": [ + "services-nextcloud.html#services-nextcloudserver-usage-postgres" + ], + "services-nextcloudserver-usage-previewgenerator": [ + "services-nextcloud.html#services-nextcloudserver-usage-previewgenerator" + ], + "services-nextcloudserver-usage-version": [ + "services-nextcloud.html#services-nextcloudserver-usage-version" + ], + "services-vaultwarden": [ + "services-vaultwarden.html#services-vaultwarden" + ], + "services-vaultwarden-backup": [ + "services-vaultwarden.html#services-vaultwarden-backup" + ], + "services-vaultwarden-debug": [ + "services-vaultwarden.html#services-vaultwarden-debug" + ], + "services-vaultwarden-features": [ + "services-vaultwarden.html#services-vaultwarden-features" + ], + "services-vaultwarden-maintenance": [ + "services-vaultwarden.html#services-vaultwarden-maintenance" + ], + "services-vaultwarden-options": [ + "services-vaultwarden.html#services-vaultwarden-options" + ], + "services-vaultwarden-options-shb.vaultwarden.authEndpoint": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.authEndpoint" + ], + "services-vaultwarden-options-shb.vaultwarden.backup": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.backup" + ], + "services-vaultwarden-options-shb.vaultwarden.backup.excludePatterns": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.backup.excludePatterns" + ], + "services-vaultwarden-options-shb.vaultwarden.backup.hooks": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.backup.hooks" + ], + "services-vaultwarden-options-shb.vaultwarden.backup.hooks.after_backup": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.backup.hooks.after_backup" + ], + "services-vaultwarden-options-shb.vaultwarden.backup.hooks.before_backup": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.backup.hooks.before_backup" + ], + "services-vaultwarden-options-shb.vaultwarden.backup.sourceDirectories": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.backup.sourceDirectories" + ], + "services-vaultwarden-options-shb.vaultwarden.backup.user": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.backup.user" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword.request": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword.request" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword.request.group": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword.request.group" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword.request.mode": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword.request.mode" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword.request.owner": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword.request.owner" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword.request.restartUnits": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword.request.restartUnits" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword.result": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword.result" + ], + "services-vaultwarden-options-shb.vaultwarden.databasePassword.result.path": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.databasePassword.result.path" + ], + "services-vaultwarden-options-shb.vaultwarden.debug": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.debug" + ], + "services-vaultwarden-options-shb.vaultwarden.domain": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.domain" + ], + "services-vaultwarden-options-shb.vaultwarden.enable": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.enable" + ], + "services-vaultwarden-options-shb.vaultwarden.mount": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.mount" + ], + "services-vaultwarden-options-shb.vaultwarden.mount.path": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.mount.path" + ], + "services-vaultwarden-options-shb.vaultwarden.port": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.port" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.auth_mechanism": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.auth_mechanism" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.from_address": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.from_address" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.from_name": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.from_name" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.host": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.host" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password.request": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password.request" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password.request.group": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password.request.group" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password.request.mode": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password.request.mode" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password.request.owner": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password.request.owner" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password.request.restartUnits": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password.request.restartUnits" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password.result": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password.result" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.password.result.path": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.password.result.path" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.port": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.port" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.security": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.security" + ], + "services-vaultwarden-options-shb.vaultwarden.smtp.username": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.smtp.username" + ], + "services-vaultwarden-options-shb.vaultwarden.ssl": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.ssl" + ], + "services-vaultwarden-options-shb.vaultwarden.ssl.paths": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.ssl.paths" + ], + "services-vaultwarden-options-shb.vaultwarden.ssl.paths.cert": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.ssl.paths.cert" + ], + "services-vaultwarden-options-shb.vaultwarden.ssl.paths.key": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.ssl.paths.key" + ], + "services-vaultwarden-options-shb.vaultwarden.ssl.systemdService": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.ssl.systemdService" + ], + "services-vaultwarden-options-shb.vaultwarden.subdomain": [ + "services-vaultwarden.html#services-vaultwarden-options-shb.vaultwarden.subdomain" + ], + "services-vaultwarden-secrets": [ + "services-vaultwarden.html#services-vaultwarden-secrets" + ], + "services-vaultwarden-sso": [ + "services-vaultwarden.html#services-vaultwarden-sso" + ], + "services-vaultwarden-usage": [ + "services-vaultwarden.html#services-vaultwarden-usage" + ], + "services-vaultwarden-zfs": [ + "services-vaultwarden.html#services-vaultwarden-zfs" + ], + "usage": [ + "usage.html#usage" + ], + "usage-example-colmena": [ + "usage.html#usage-example-colmena" + ], + "usage-example-nixosrebuild": [ + "usage.html#usage-example-nixosrebuild" + ], + "usage-flake": [ + "usage.html#usage-flake" + ], + "usage-secrets": [ + "usage.html#usage-secrets" + ] +} diff --git a/modules/blocks/ssl/docs/default.md b/modules/blocks/ssl/docs/default.md index 68090a83..9e237fe7 100644 --- a/modules/blocks/ssl/docs/default.md +++ b/modules/blocks/ssl/docs/default.md @@ -1,4 +1,4 @@ -# SSL Generator Block {#ssl-block} +# SSL Generator Block {#block-ssl} This NixOS module is a block that implements the [SSL certificate generator](contracts-ssl.html) contract. @@ -14,7 +14,7 @@ It is implemented by: [11]: blocks-ssl.html#blocks-ssl-options-shb.certs.certs.selfsigned [12]: blocks-ssl.html#blocks-ssl-options-shb.certs.certs.letsencrypt -## Self-Signed Certificates {#ssl-block-impl-self-signed} +## Self-Signed Certificates {#block-ssl-impl-self-signed} Defined in [`/modules/blocks/ssl.nix`](@REPO@/modules/blocks/ssl.nix). @@ -52,7 +52,7 @@ shb.certs.certs.selfsigned = { The group has been chosen to be `nginx` to be consistent with the examples further down in this document. -## Let's Encrypt {#ssl-block-impl-lets-encrypt} +## Let's Encrypt {#block-ssl-impl-lets-encrypt} Defined in [`/modules/blocks/ssl.nix`](@REPO@/modules/blocks/ssl.nix). @@ -81,7 +81,7 @@ LINODE_TOKEN=XYZ... For other providers, see the [official instruction](https://go-acme.github.io/lego/dns/). -## Usage {#ssl-block-usage} +## Usage {#block-ssl-usage} To use either a self-signed certificates or a Let's Encrypt generated one, we can reference the path where the certificate and the private key are located: @@ -110,16 +110,16 @@ config.shb.certs.systemdService See also the [SSL certificate generator usage](contracts-ssl.html#ssl-contract-usage) for a more detailed usage example. -## Debug {#ssl-block-debug} +## Debug {#block-ssl-debug} Each CA and Cert is generated by a systemd service whose name can be seen in the `systemdService` option. You can then see the latest errors messages using `journalctl`. -## Tests {#ssl-block-tests} +## Tests {#block-ssl-tests} The self-signed implementation is tested in [`/tests/vm/ssl.nix`](@REPO@/tests/vm/ssl.nix). -## Options Reference {#ssl-block-options} +## Options Reference {#block-ssl-options} ```{=include=} options id-prefix: blocks-ssl-options- diff --git a/modules/contracts/backup/docs/default.md b/modules/contracts/backup/docs/default.md index 403797ea..43bcec1d 100644 --- a/modules/contracts/backup/docs/default.md +++ b/modules/contracts/backup/docs/default.md @@ -101,6 +101,6 @@ Or with another module `backupservice_2`! - Home Assistant (no manual yet) - Jellyfin (no manual yet) - LLDAP (no manual yet) -- [Nextcloud](services-nextcloud.html#services-nextcloud-server-usage-backup). +- [Nextcloud](services-nextcloud.html#services-nextcloudserver-usage-backup). - [Vaultwarden](services-vaultwarden.html#services-vaultwarden-backup). - *arr (no manual yet) diff --git a/modules/contracts/secret/docs/default.md b/modules/contracts/secret/docs/default.md index ca2a18f0..69b6048f 100644 --- a/modules/contracts/secret/docs/default.md +++ b/modules/contracts/secret/docs/default.md @@ -1,4 +1,4 @@ -# Secret Contract {#secret-contract} +# Secret Contract {#contract-secret} This NixOS contract represents a secret file that must be created out of band - from outside the nix store - @@ -7,7 +7,7 @@ and that must be placed in an expected location with expected permission. More formally, this contract is made between a requester module - the one needing a secret - and a provider module - the one creating the secret and making it available. -## Motivation {#secret-contract-motivation} +## Motivation {#contract-secret-motivation} Let's provide the [ldap SHB module][ldap-module] option `ldapUserPasswordFile` with a secret managed by [sops-nix][]. @@ -68,7 +68,7 @@ shb.sops.secrets."ldap/user_password".request = config.shb.ldap.userPassword.req shb.ldap.userPassword.result = config.shb.sops.secrets."ldap/user_password".result; ``` -## Contract Reference {#secret-contract-options} +## Contract Reference {#contract-secret-options} These are all the options that are expected to exist for this contract to be respected. @@ -78,7 +78,7 @@ list-id: selfhostblocks-options source: @OPTIONS_JSON@ ``` -## Usage {#secret-contract-usage} +## Usage {#contract-secret-usage} A contract involves 3 parties: @@ -88,7 +88,7 @@ A contract involves 3 parties: The usage of this contract is similarly separated into 3 sections. -### Requester Module {#secret-contract-usage-requester} +### Requester Module {#contract-secret-usage-requester} Here is an example module requesting two secrets through the `secret` contract. @@ -128,7 +128,7 @@ in }; ``` -### Provider Module {#secret-contract-usage-provider} +### Provider Module {#contract-secret-usage-provider} Now, on the other side, we have a module that uses those options and provides a secret. Let's assume such a module is available under the `secretservice` option @@ -177,7 +177,7 @@ in } ``` -### End User {#secret-contract-usage-enduser} +### End User {#contract-secret-usage-enduser} The end user's responsibility is now to do some plumbing. diff --git a/modules/contracts/ssl/docs/default.md b/modules/contracts/ssl/docs/default.md index db30337a..a9af8059 100644 --- a/modules/contracts/ssl/docs/default.md +++ b/modules/contracts/ssl/docs/default.md @@ -1,10 +1,10 @@ -# SSL Generator Contract {#ssl-contract} +# SSL Generator Contract {#contract-ssl} This NixOS contract represents an SSL certificate generator. This contract is used to decouple generating an SSL certificate from using it. In practice, you can swap generators without updating modules depending on it. -## Contract Reference {#ssl-contract-options} +## Contract Reference {#contract-ssl-options} These are all the options that are expected to exist for this contract to be respected. @@ -14,7 +14,7 @@ list-id: selfhostblocks-options source: @OPTIONS_JSON@ ``` -## Usage {#ssl-contract-usage} +## Usage {#contract-ssl-usage} Let's assume a module implementing this contract is available under the `ssl` variable: @@ -56,11 +56,11 @@ systemd.services.nginx = { }; ``` -## Provided Implementations {#ssl-contract-impl-shb} +## Provided Implementations {#contract-ssl-impl-shb} Multiple implementation are provided out of the box at [SSL block](blocks-ssl.html). -## Custom Implementation {#ssl-contract-impl-custom} +## Custom Implementation {#contract-ssl-impl-custom} To implement this contract, you must create a module that respects this contract. The following snippet shows an example. diff --git a/modules/services/nextcloud-server/docs/default.md b/modules/services/nextcloud-server/docs/default.md index fb67daeb..1e22c3e0 100644 --- a/modules/services/nextcloud-server/docs/default.md +++ b/modules/services/nextcloud-server/docs/default.md @@ -1,27 +1,27 @@ -# Nextcloud Server Service {#services-nextcloud-server} +# Nextcloud Server Service {#services-nextcloudserver} Defined in [`/modules/services/nextcloud-server.nix`](@REPO@/modules/services/nextcloud-server.nix). This NixOS module is a service that sets up a [Nextcloud Server](https://nextcloud.com/). It is based on the nixpkgs Nextcloud server and provides opinionated defaults. -## Features {#services-nextcloud-server-features} +## Features {#services-nextcloudserver-features} -- Declarative [Apps](#services-nextcloud-server-options-shb.nextcloud.apps) Configuration - no need +- Declarative [Apps](#services-nextcloudserver-options-shb.nextcloud.apps) Configuration - no need to configure those with the UI. - - [LDAP](#services-nextcloud-server-usage-ldap) app: + - [LDAP](#services-nextcloudserver-usage-ldap) app: enables app and sets up integration with an existing LDAP server, in this case LLDAP. - - [SSO](#services-nextcloud-server-usage-oidc) app: + - [SSO](#services-nextcloudserver-usage-oidc) app: enables app and sets up integration with an existing SSO server, in this case Authelia. - - [Preview Generator](#services-nextcloud-server-usage-previewgenerator) app: + - [Preview Generator](#services-nextcloudserver-usage-previewgenerator) app: enables app and sets up required cron job. - - [External Storage](#services-nextcloud-server-usage-externalstorage) app: + - [External Storage](#services-nextcloudserver-usage-externalstorage) app: enables app and optionally configures one local mount. This enables having data living on separate hard drives. - - [Only Office](#services-nextcloud-server-usage-onlyoffice) app: + - [Only Office](#services-nextcloudserver-usage-onlyoffice) app: enables app and sets up Only Office service. - Any other app through the - [shb.nextcloud.extraApps](#services-nextcloud-server-options-shb.nextcloud.extraApps) option. + [shb.nextcloud.extraApps](#services-nextcloudserver-options-shb.nextcloud.extraApps) option. - Access through subdomain using reverse proxy. - Forces Nginx as the reverse proxy. (This is hardcoded in the upstream nixpkgs module). - Sets good defaults for trusted proxies settings, chunk size, opcache php options. @@ -40,15 +40,15 @@ It is based on the nixpkgs Nextcloud server and provides opinionated defaults. - By default automatically disables maintenance mode on start. - By default automatically launches repair mode with expensive migrations on start. - Access to advanced options not exposed here thanks to how NixOS modules work. -- Has a [demo](#services-nextcloud-server-demo). +- Has a [demo](#services-nextcloudserver-demo). -[dataDir]: ./services-nextcloud.html#services-nextcloud-server-options-shb.nextcloud.dataDir +[dataDir]: ./services-nextcloud.html#services-nextcloudserver-options-shb.nextcloud.dataDir -## Usage {#services-nextcloud-server-usage} +## Usage {#services-nextcloudserver-usage} -### Nextcloud through HTTP {#services-nextcloud-server-usage-basic} +### Nextcloud through HTTP {#services-nextcloudserver-usage-basic} -[HTTP]: #services-nextcloud-server-usage-basic +[HTTP]: #services-nextcloudserver-usage-basic :::: {.note} This section corresponds to the `basic` section of the [Nextcloud @@ -82,9 +82,9 @@ We will set that up in the next section. You can now login as the admin user using the username `admin` and the password defined in `sops.secrets."nextcloud/adminpass"`. -### Nextcloud through HTTPS {#services-nextcloud-server-usage-https} +### Nextcloud through HTTPS {#services-nextcloudserver-usage-https} -[HTTPS]: #services-nextcloud-server-usage-https +[HTTPS]: #services-nextcloudserver-usage-https To setup HTTPS, we will get our certificates from Let's Encrypt using the HTTP method. This is the easiest way to get started and does not require you to programmatically @@ -94,7 +94,7 @@ Under the hood, we use the Self Host Block [SSL contract](./contracts-ssl.html). It allows the end user to choose how to generate the certificates. If you want other options to generate the certificate, follow the SSL contract link. -Building upon the [Basic Configuration](#services-nextcloud-server-usage-basic) above, we add: +Building upon the [Basic Configuration](#services-nextcloudserver-usage-basic) above, we add: ```nix shb.certs.certs.letsencrypt."example.com" = { @@ -111,17 +111,17 @@ shb.nextcloud = { }; ``` -### Choose Nextcloud Version {#services-nextcloud-server-usage-version} +### Choose Nextcloud Version {#services-nextcloudserver-usage-version} Self Host Blocks is conservative in the version of Nextcloud it's using. To choose the version and upgrade at the time of your liking, -just use the [version](#services-nextcloud-server-options-shb.nextcloud.version) option: +just use the [version](#services-nextcloudserver-options-shb.nextcloud.version) option: ```nix shb.nextcloud.version = 29; ``` -### Mount Point {#services-nextcloud-server-usage-mount-point} +### Mount Point {#services-nextcloudserver-usage-mount-point} If the `dataDir` exists in a mount point, it is highly recommended to make the various Nextcloud services wait on the mount point before starting. @@ -134,9 +134,9 @@ fileSystems."/var".device = "..."; shb.nextcloud.mountPointServices = [ "var.mount" ]; ``` -### With LDAP Support {#services-nextcloud-server-usage-ldap} +### With LDAP Support {#services-nextcloudserver-usage-ldap} -[LDAP]: #services-nextcloud-server-usage-ldap +[LDAP]: #services-nextcloudserver-usage-ldap :::: {.note} This section corresponds to the `ldap` section of the [Nextcloud @@ -206,7 +206,7 @@ so you need to create a normal user like above, login with it once so it is known to Nextcloud, then logout, login with the admin Nextcloud user and promote that new user to admin level. -### With SSO Support {#services-nextcloud-server-usage-oidc} +### With SSO Support {#services-nextcloudserver-usage-oidc} :::: {.note} This section corresponds to the `sso` section of the [Nextcloud @@ -289,7 +289,7 @@ secrets have the same content. Setting the `fallbackDefaultAuth` to `false` means the only way to login is through Authelia. If this does not work for any reason, you can let users login through Nextcloud directly by setting this option to `true`. -### Tweak PHPFpm Config {#services-nextcloud-server-usage-phpfpm} +### Tweak PHPFpm Config {#services-nextcloudserver-usage-phpfpm} For instances with more users, or if you feel the pages are loading slowly, you can tweak the `php-fpm` pool settings. @@ -311,7 +311,7 @@ I don't have a good heuristic for what are good values here but what I found is that you don't want too high of a `max_children` value to avoid I/O strain on the hard drives, especially if you use spinning drives. -### Tweak PostgreSQL Settings {#services-nextcloud-server-usage-postgres} +### Tweak PostgreSQL Settings {#services-nextcloudserver-usage-postgres} These settings will impact all databases since the NixOS Postgres module configures only one Postgres instance. @@ -353,7 +353,7 @@ shb.nextcloud.postgresSettings = { }; ``` -### Backup {#services-nextcloud-server-usage-backup} +### Backup {#services-nextcloudserver-usage-backup} Backing up Nextcloud data files using the [Restic block](blocks-restic.html) is done like so: @@ -385,7 +385,7 @@ Note that this will backup the whole PostgreSQL instance, not just the Nextcloud database. This limitation will be lifted in the future. -### Enable Preview Generator App {#services-nextcloud-server-usage-previewgenerator} +### Enable Preview Generator App {#services-nextcloudserver-usage-previewgenerator} The following snippet installs and enables the [Preview Generator](https://apps.nextcloud.com/apps/previewgenerator) application as well as creates the @@ -410,7 +410,7 @@ You can opt-out with: shb.nextcloud.apps.previewgenerator.recommendedSettings = false; ``` -### Enable External Storage App {#services-nextcloud-server-usage-externalstorage} +### Enable External Storage App {#services-nextcloudserver-usage-externalstorage} The following snippet installs and enables the [External Storage](https://docs.nextcloud.com/server/28/go.php?to=admin-external-storage) application. @@ -447,7 +447,7 @@ which is well suited for randomly accessing small files like thumbnails. On the other side, a spinning hard drive can store more data which is well suited for storing user data. -### Enable OnlyOffice App {#services-nextcloud-server-usage-onlyoffice} +### Enable OnlyOffice App {#services-nextcloudserver-usage-onlyoffice} The following snippet installs and enables the [Only Office](https://apps.nextcloud.com/apps/onlyoffice) application as well as sets up an Only Office @@ -469,7 +469,7 @@ nixpkgs.config.allowUnfreePredicate = pkg: builtins.elem (pkgs.lib.getName pkg) ]; ``` -### Enable Monitoring {#services-nextcloud-server-server-usage-monitoring} +### Enable Monitoring {#services-nextcloudserver-server-usage-monitoring} Enable the [monitoring block](./blocks-monitoring.html). A [Grafana dashboard][] for overall server performance will be created @@ -477,7 +477,7 @@ and the Nextcloud metrics will automatically appear there. [Grafana dashboard]: ./blocks-monitoring.html#blocks-monitoring-performance-dashboard -### Enable Tracing {#services-nextcloud-server-server-usage-tracing} +### Enable Tracing {#services-nextcloudserver-server-usage-tracing} You can enable tracing with: @@ -492,7 +492,7 @@ but that's not the case yet. [my blog post]: http://blog.tiserbox.com/posts/2023-08-12-what%27s-up-with-nextcloud-webdav-slowness.html -### Appdata Location {#services-nextcloud-server-server-usage-appdata} +### Appdata Location {#services-nextcloudserver-server-usage-appdata} The appdata folder is a special folder located under the `shb.nextcloud.dataDir` directory. It is named `appdata_` with the Nextcloud's instance ID as a suffix. @@ -503,7 +503,7 @@ For performance reasons, it is recommended to store this folder on a fast drive that is optimized for randomized read and write access. The best would be either an SSD or an NVMe drive. -The best way to solve this is to use the [External Storage app](#services-nextcloud-server-usage-externalstorage). +The best way to solve this is to use the [External Storage app](#services-nextcloudserver-usage-externalstorage). If you have an existing installation and put Nextcloud's `shb.nextcloud.dataDir` folder on a HDD with spinning disks, then the appdata folder is also located on spinning drives. @@ -521,16 +521,16 @@ mount --bind /srv/sdd/appdata_nextcloud /var/lib/nextcloud/data/appdata_ocxvky2f Note that you can re-generate a new appdata folder by issuing the command `nextcloud-occ config:system:delete instanceid`. -## Demo {#services-nextcloud-server-demo} +## Demo {#services-nextcloudserver-demo} Head over to the [Nextcloud demo](demo-nextcloud-server.html) for a demo that installs Nextcloud with or without LDAP integration on a VM with minimal manual steps. -## Maintenance {#services-nextcloud-server-maintenance} +## Maintenance {#services-nextcloudserver-maintenance} On the command line, the `occ` tool is called `nextcloud-occ`. -## Debug {#services-nextcloud-server-debug} +## Debug {#services-nextcloudserver-debug} In case of an issue, check the logs for any systemd service mentioned in this section. @@ -547,10 +547,10 @@ Access the database with `sudo -u nextcloud psql`. Access Redis with `sudo -u nextcloud redis-cli -s /run/redis-nextcloud/redis.sock`. -## Options Reference {#services-nextcloud-server-options} +## Options Reference {#services-nextcloudserver-options} ```{=include=} options -id-prefix: services-nextcloud-server-options- +id-prefix: services-nextcloudserver-options- list-id: selfhostblocks-service-nextcloud-options source: @OPTIONS_JSON@ ```