diff options
Diffstat (limited to 'nixos/modules/homelab/communications')
| -rw-r--r-- | nixos/modules/homelab/communications/mattermost.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nixos/modules/homelab/communications/mattermost.nix b/nixos/modules/homelab/communications/mattermost.nix new file mode 100644 index 0000000..f15002f --- /dev/null +++ b/nixos/modules/homelab/communications/mattermost.nix @@ -0,0 +1,31 @@ +{ config, lib, ... }: let + cfg = config.homelab.communications.mattermost; + full-domain = lib.strings.concatStrings [cfg.subdomain "." cfg.domain]; +in { + options.homelab.communications.mattermost = { + enable = lib.mkEnableOption "mattermost"; + domain = lib.mkOption { + description = "The domain under which to serve the mattermost server."; + type = lib.types.str; + default = config.networking.domain; + example = "example.com"; + }; + subdomain = lib.mkOption { + description = "The subdomain under which to serve the mattermost server."; + type = lib.types.str; + default = "mattermost"; + example = "chat"; + }; + }; + config = lib.mkIf cfg.enable { + services.mattermost = { + enable = true; + host = full-domain; + siteName = "CompSciClub"; + dataDir = "/srv/mattermost"; + }; + services.caddy.virtualHosts.${full-domain}.extraConfig = '' + reverse_proxy http://127.0.0.1:8065 {} + ''; + }; +} |
