{ config, pkgs, lib, ... }: let cfg = config.services.vm_collabora; in { options.services.vm_collabora = { enable = lib.mkEnableOption "Enable collabora service"; }; config = lib.mkIf cfg.enable { services = { collabora-online = { enable = true; settings = { ssl.enable = false; ssl.termination = true; net = { listen = "0.0.0.0"; post_allow = [ "192.168.1.0/24" ]; lok_allow = [ "192.168.1.0/24" ]; }; storage.wopi = { "@allow" = true; host = [ "cloud.le43.eu" ]; }; remote_font_config.url = "https://cloud.le43.eu/apps/richdocuments/settings/fonts.json"; server_name = "collabora.le43.eu"; }; }; }; networking.firewall.allowedTCPPorts = [80 443 9980]; }; }