aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/nixos/modules/services/web-apps/mattermost.nix')
-rw-r--r--nixpkgs/nixos/modules/services/web-apps/mattermost.nix16
1 files changed, 11 insertions, 5 deletions
diff --git a/nixpkgs/nixos/modules/services/web-apps/mattermost.nix b/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
index 41c52b9653b..853347bf86e 100644
--- a/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
+++ b/nixpkgs/nixos/modules/services/web-apps/mattermost.nix
@@ -6,14 +6,18 @@ let
cfg = config.services.mattermost;
- defaultConfig = builtins.fromJSON (readFile "${pkgs.mattermost}/config/config.json");
+ defaultConfig = builtins.fromJSON (builtins.replaceStrings [ "\\u0026" ] [ "&" ]
+ (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
];
@@ -175,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
@@ -201,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";
@@ -227,4 +234,3 @@ in
})
];
}
-