{ 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 = { proto= "IPv4"; listen = "0.0.0.0"; post_allow.host = [ ''192\.168\.1\.[0-9]{1,3}'' ]; lok_allow.host = [ ''192\.168\.1\.[0-9]{1,3}'' ]; }; 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]; }; }