From a565d58b53473c40fcb8b6e1e16b83906a76fbdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Isma=C3=ABl=20Bouya?= Date: Sun, 6 Jun 2021 23:35:46 +0200 Subject: Add umami --- modules/private/websites/tools/stats/default.nix | 52 ++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 modules/private/websites/tools/stats/default.nix (limited to 'modules/private/websites/tools') diff --git a/modules/private/websites/tools/stats/default.nix b/modules/private/websites/tools/stats/default.nix new file mode 100644 index 0000000..5f184bc --- /dev/null +++ b/modules/private/websites/tools/stats/default.nix @@ -0,0 +1,52 @@ +{ config, lib, pkgs, ... }: +let + cfg = config.myServices.websites.tools.stats; + myCfg = config.myEnv.tools.umami; +in +{ + options.myServices.websites.tools.stats.enable = lib.mkEnableOption "Enable stats site"; + config = lib.mkIf cfg.enable { + secrets.keys = [ + { + dest = "umami/env"; + permission = "0400"; + text = '' + PORT=${toString myCfg.listenPort} + HOSTNAME=127.0.0.1 + DATABASE_URL=postgresql://${myCfg.postgresql.user}:${myCfg.postgresql.password}@localhost:${myCfg.postgresql.port}/${myCfg.postgresql.database}?sslmode=disable&host=${myCfg.postgresql.socket} + HASH_SALT=${myCfg.hashSalt} + ''; + } + ]; + + services.websites.env.tools.vhostConfs.stats = { + certName = "eldiron"; + addToCerts = true; + hosts = [ "stats.immae.eu" ]; + root = null; + extraConfig = [ + '' + ProxyPass / http://localhost:${toString myCfg.listenPort}/ + ProxyPassReverse / http://localhost:${toString myCfg.listenPort}/ + ProxyPreserveHost On + '' + ]; + }; + systemd.services.umami = { + description = "Umami service"; + wantedBy = [ "multi-user.target" ]; + after = [ "network.target" ]; + wants = [ "postgresql.service" ]; + path = [ pkgs.nodejs pkgs.bashInteractive ]; + serviceConfig = { + Type = "simple"; + User = "umami"; + Group = "umami"; + DynamicUser = true; + SupplementaryGroups = [ "keys" ]; + ExecStart = "${pkgs.umami}/bin/umami"; + EnvironmentFile = config.secrets.fullPaths."umami/env"; + }; + }; + }; +} -- cgit v1.2.3