about summary refs log tree commit diff
path: root/nixos
diff options
context:
space:
mode:
authorJeff Slight <jslight90@gmail.com>2019-09-20 10:39:57 -0700
committerJeff Slight <jslight90@gmail.com>2019-09-23 14:56:41 -0700
commit346a6ce2653324a61a2855fffa30a8fba00fbdbb (patch)
tree8be56c7844600c9801c7f1078a19cdaab000c62e /nixos
parent366be2ea324571a7b40410e79d45e900ff6b0ae2 (diff)
downloadnixlib-346a6ce2653324a61a2855fffa30a8fba00fbdbb.tar
nixlib-346a6ce2653324a61a2855fffa30a8fba00fbdbb.tar.gz
nixlib-346a6ce2653324a61a2855fffa30a8fba00fbdbb.tar.bz2
nixlib-346a6ce2653324a61a2855fffa30a8fba00fbdbb.tar.lz
nixlib-346a6ce2653324a61a2855fffa30a8fba00fbdbb.tar.xz
nixlib-346a6ce2653324a61a2855fffa30a8fba00fbdbb.tar.zst
nixlib-346a6ce2653324a61a2855fffa30a8fba00fbdbb.zip
nixos/mattermost: use database config if set to immutable
Diffstat (limited to 'nixos')
-rw-r--r--nixos/modules/services/web-apps/mattermost.nix12
1 files changed, 8 insertions, 4 deletions
diff --git a/nixos/modules/services/web-apps/mattermost.nix b/nixos/modules/services/web-apps/mattermost.nix
index 97dc0dd3c66b..e402f5ff843f 100644
--- a/nixos/modules/services/web-apps/mattermost.nix
+++ b/nixos/modules/services/web-apps/mattermost.nix
@@ -10,12 +10,14 @@ let
     (readFile "${pkgs.mattermost}/config/config.json")
   );
 
+  database = "postgres://${cfg.localDatabaseUser}:${cfg.localDatabasePassword}@localhost:5432/${cfg.localDatabaseName}?sslmode=disable&connect_timeout=10";
+
   mattermostConf = foldl recursiveUpdate defaultConfig
     [ { ServiceSettings.SiteURL = cfg.siteUrl;
         ServiceSettings.ListenAddress = cfg.listenAddress;
         TeamSettings.SiteName = cfg.siteName;
         SqlSettings.DriverName = "postgres";
-        SqlSettings.DataSource = "postgres://${cfg.localDatabaseUser}:${cfg.localDatabasePassword}@localhost:5432/${cfg.localDatabaseName}?sslmode=disable&connect_timeout=10";
+        SqlSettings.DataSource = database;
       }
       cfg.extraConfig
     ];
@@ -177,7 +179,9 @@ in
           mkdir -p ${cfg.statePath}/{data,config,logs}
           ln -sf ${pkgs.mattermost}/{bin,fonts,i18n,templates,client} ${cfg.statePath}
         '' + lib.optionalString (!cfg.mutableConfig) ''
-          ln -sf ${mattermostConfJSON} ${cfg.statePath}/config/config.json
+          rm -f ${cfg.statePath}/config/config.json
+          cp ${mattermostConfJSON} ${cfg.statePath}/config/config.json
+          ${pkgs.mattermost}/bin/mattermost config migrate ${cfg.statePath}/config/config.json ${database}
         '' + lib.optionalString cfg.mutableConfig ''
           if ! test -e "${cfg.statePath}/config/.initial-created"; then
             rm -f ${cfg.statePath}/config/config.json
@@ -203,7 +207,8 @@ in
           PermissionsStartOnly = true;
           User = cfg.user;
           Group = cfg.group;
-          ExecStart = "${pkgs.mattermost}/bin/mattermost";
+          ExecStart = "${pkgs.mattermost}/bin/mattermost" +
+            (lib.optionalString (!cfg.mutableConfig) " -c ${database}");
           WorkingDirectory = "${cfg.statePath}";
           Restart = "always";
           RestartSec = "10";
@@ -229,4 +234,3 @@ in
     })
   ];
 }
-