diff options
Diffstat (limited to 'services/mattermost')
| -rw-r--r-- | services/mattermost/default.nix (renamed from services/mattermost/mattermost.nix) | 53 |
1 files changed, 18 insertions, 35 deletions
diff --git a/services/mattermost/mattermost.nix b/services/mattermost/default.nix index 132fdeb..f16f721 100644 --- a/services/mattermost/mattermost.nix +++ b/services/mattermost/default.nix @@ -1,16 +1,23 @@ { config, pkgs, lib, ... }: -let - mattermostPassword = ""; # Change to a strong password -in { - networking.firewall.allowedTCPPorts = [ 80 443 8065 ]; - - services.mattermost.database.peerAuth = true; - +{ 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"; @@ -18,7 +25,7 @@ in { ExecStart = "${pkgs.mattermost}/bin/mattermost"; Environment = [ "MM_SQLSETTINGS_DRIVERNAME=postgres" - "MM_SQLSETTINGS_DATASOURCE=postgres://mattermost:QwErAsDf@localhost:5432/mattermost?sslmode=disable&connect_timeout=10" + "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" @@ -26,17 +33,6 @@ in { ]; Restart = "always"; }; - 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 - ''; }; users.users.mattermost = { @@ -50,6 +46,7 @@ in { services.postgresql = { enable = true; + ensureDatabases = [ "mattermost" ]; ensureUsers = [ { @@ -57,21 +54,7 @@ in { ensureDBOwnership = true; } ]; - initialScript = pkgs.writeText "init-mattermost.sql" '' - DO $$ - BEGIN - IF NOT EXISTS (SELECT FROM pg_roles WHERE rolname = 'mattermost') THEN - CREATE ROLE mattermost LOGIN PASSWORD 'QwErAsDf'; - END IF; - END - $$; - ALTER DATABASE mattermost OWNER TO mattermost; - ''; }; - services.postgresql.authentication = '' - local all postgres peer - local all mattermost md5 - host all all 127.0.0.1/32 md5 - host all all ::1/128 md5 - ''; + + services.postgresqlBackup.databases = [ "mattermost" ]; } |