summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKim Lindberger <kim.lindberger@gmail.com>2021-09-24 14:30:17 +0200
committerGitHub <noreply@github.com>2021-09-24 14:30:17 +0200
commitb897a166cbade5dd46b2bded3c795d318d0c4e1d (patch)
tree2e49a6726e556d60936f3b202fdc374555ffe51f
parentMerge pull request #139220 from primeos/chromium-backport (diff)
parentnixos/discourse: add discourse.admin.skipCreate option (diff)
downloadnixpkgs-b897a166cbade5dd46b2bded3c795d318d0c4e1d.tar.gz
Merge pull request #139203 from NixOS/backport-138852-to-release-21.05
[Backport release-21.05] nixos/discourse: add discourse.admin.skipCreate option
-rw-r--r--nixos/modules/services/web-apps/discourse.nix26
1 files changed, 20 insertions, 6 deletions
diff --git a/nixos/modules/services/web-apps/discourse.nix b/nixos/modules/services/web-apps/discourse.nix
index 050e4ee3d329..93298af2e3ea 100644
--- a/nixos/modules/services/web-apps/discourse.nix
+++ b/nixos/modules/services/web-apps/discourse.nix
@@ -172,6 +172,15 @@ in
};
admin = {
+ skipCreate = lib.mkOption {
+ type = lib.types.bool;
+ default = false;
+ description = ''
+ Do not create the admin account, instead rely on other
+ existing admin accounts.
+ '';
+ };
+
email = lib.mkOption {
type = lib.types.str;
example = "admin@example.com";
@@ -721,6 +730,16 @@ in
lib.optionalString (file != null) ''
replace-secret '${file}' '${file}' /run/discourse/config/discourse.conf
'';
+
+ mkAdmin = ''
+ export ADMIN_EMAIL="${cfg.admin.email}"
+ export ADMIN_NAME="${cfg.admin.fullName}"
+ export ADMIN_USERNAME="${cfg.admin.username}"
+ ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})"
+ export ADMIN_PASSWORD
+ discourse-rake admin:create_noninteractively
+ '';
+
in ''
set -o errexit -o pipefail -o nounset -o errtrace
shopt -s inherit_errexit
@@ -750,12 +769,7 @@ in
discourse-rake db:migrate >>/var/log/discourse/db_migration.log
chmod -R u+w /run/discourse/tmp/
- export ADMIN_EMAIL="${cfg.admin.email}"
- export ADMIN_NAME="${cfg.admin.fullName}"
- export ADMIN_USERNAME="${cfg.admin.username}"
- ADMIN_PASSWORD="$(<${cfg.admin.passwordFile})"
- export ADMIN_PASSWORD
- discourse-rake admin:create_noninteractively
+ ${lib.optionalString (!cfg.admin.skipCreate) mkAdmin}
discourse-rake themes:update
discourse-rake uploads:regenerate_missing_optimized