From d5de8c8bc833b7dc169027dfd38e94bbbb924d69 Mon Sep 17 00:00:00 2001 From: triethyl Date: Thu, 23 Oct 2025 12:45:17 -0400 Subject: homelab: added mattermost module --- .../modules/homelab/communications/mattermost.nix | 31 ++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 nixos/modules/homelab/communications/mattermost.nix (limited to 'nixos/modules/homelab/communications/mattermost.nix') 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 {} + ''; + }; +} -- cgit v1.2.3