blob: f16f72126b8e41ee27c016cd03e160f87d9c5ea1 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
{ config, pkgs, lib, ... }:
{
systemd.services.mattermost = {
description = "Mattermost server";
after = [ "network.target" "postgresql.service" ];
wantedBy = [ "multi-user.target" ];
preStart = ''
mkdir -p /var/lib/mattermost/bin
mkdir -p /var/lib/mattermost/client
mkdir -p /var/lib/mattermost/config
mkdir -p /var/lib/mattermost/templates
cp -r ${pkgs.mattermost}/client/* /var/lib/mattermost/client/
cp -r ${pkgs.mattermost}/bin/* /var/lib/mattermost/bin/
cp -r ${pkgs.mattermost}/config/* /var/lib/mattermost/config/
cp -r ${pkgs.mattermost}/templates/* /var/lib/mattermost/templates/
chown -R mattermost:mattermost /var/lib/mattermost
'';
serviceConfig = {
User = "mattermost";
Group = "mattermost";
WorkingDirectory = "/var/lib/mattermost";
ExecStart = "${pkgs.mattermost}/bin/mattermost";
Environment = [
"MM_SQLSETTINGS_DRIVERNAME=postgres"
"MM_SQLSETTINGS_DATASOURCE=postgres://mattermost@localhost:5432/mattermost?sslmode=disable&connect_timeout=10"
"MM_SERVICESETTINGS_SITEURL=http://islmm"
"MM_SERVICESETTINGS_LISTENADDRESS=:8065"
"MM_SERVICESETTINGS_ENABLEUSERCREATION=true"
"MM_SERVICESETTINGS_ALLOWCORSFROM=*"
];
Restart = "always";
};
};
users.users.mattermost = {
isSystemUser = true;
home = "/var/lib/mattermost";
createHome = true;
group = "mattermost";
};
users.groups.mattermost = { };
services.postgresql = {
enable = true;
ensureDatabases = [ "mattermost" ];
ensureUsers = [
{
name = "mattermost";
ensureDBOwnership = true;
}
];
};
services.postgresqlBackup.databases = [ "mattermost" ];
}
|