diff --git a/nixosModules/server/nextcloud.nix b/nixosModules/server/nextcloud.nix index c8dcd36..68ede8a 100755 --- a/nixosModules/server/nextcloud.nix +++ b/nixosModules/server/nextcloud.nix @@ -6,6 +6,9 @@ xlib, ... }: +let + last-stable = import inputs.nixpkgs-stable { system = "x86_64-linux"; }; +in { services = { nextcloud-whiteboard-server = { @@ -83,77 +86,77 @@ ; }; }; - # collabora-online = { - # enable = false; - # port = 9980; - # settings = { - # # Rely on reverse proxy for SSL - # server_name = "collabora.zeroq.ru"; - # ssl = { - # enable = false; - # termination = true; - # ssl_verification = false; - # }; - # net = { - # listen = "loopback"; - # post_allow.host = [ - # "localhost" - # "100.64.0.0" - # ]; # "::1" - # }; - # storage.wopi = { - # "@allow" = true; - # host = [ "nextcloud.zeroq.ru" ]; - # }; - # }; - # }; - onlyoffice = { + collabora-online = { enable = true; + port = 9980; + settings = { + # Rely on reverse proxy for SSL + server_name = "collabora.zeroq.ru"; + ssl = { + enable = false; + termination = true; + ssl_verification = false; + }; + net = { + listen = "loopback"; + post_allow.host = [ + "localhost" + "100.64.0.0" + ]; # "::1" + }; + storage.wopi = { + "@allow" = true; + host = [ "nextcloud.zeroq.ru" ]; + }; + }; + }; + onlyoffice = { + enable = false; hostname = "onlyoffice"; }; #rabbitmq.enable = false; }; - # networking.hosts = { - # "127.0.0.1" = [ - # "nextcloud.zeroq.ru" - # "office.zeroq.com" - # "collabora.zeroq.ru" - # ]; - # "::1" = [ - # "nextcloud.zeroq.ru" - # "collabora.zeroq.ru" - # "office.zeroq.com" - # ]; - # }; + networking.hosts = { + "127.0.0.1" = [ + "nextcloud.zeroq.ru" + "office.zeroq.com" + "collabora.zeroq.ru" + ]; + "::1" = [ + "nextcloud.zeroq.ru" + "collabora.zeroq.ru" + "office.zeroq.com" + ]; + }; - # systemd.services.nextcloud-config-collabora = - # let - # inherit (config.services.nextcloud) occ; - # wopi_url = "http://[::1]:${toString config.services.collabora-online.port}"; - # public_wopi_url = "https://collabora.zeroq.ru"; - # wopi_allowlist = lib.concatStringsSep "," [ - # "127.0.0.1" - # "::1" - # ]; - # in - # { - # wantedBy = [ "multi-user.target" ]; - # after = [ - # "nextcloud-setup.service" - # "coolwsd.service" - # ]; - # requires = [ "coolwsd.service" ]; - # script = '' - # ${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url} - # ${occ}/bin/nextcloud-occ config:app:set richdocuments public_wopi_url --value ${lib.escapeShellArg public_wopi_url} - # ${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist} - # ${occ}/bin/nextcloud-occ richdocuments:setup - # ''; - # serviceConfig = { - # Type = "oneshot"; - # }; - # }; + systemd.services.nextcloud-config-collabora = + let + inherit (config.services.nextcloud) occ; + wopi_url = "http://[::1]:${toString config.services.collabora-online.port}"; + public_wopi_url = "https://collabora.zeroq.ru"; + wopi_allowlist = lib.concatStringsSep "," [ + "127.0.0.1" + "::1" + ]; + in + { + wantedBy = [ "multi-user.target" ]; + after = [ + "nextcloud-setup.service" + "coolwsd.service" + ]; + requires = [ "coolwsd.service" ]; + script = '' + ${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_url --value ${lib.escapeShellArg wopi_url} + ${occ}/bin/nextcloud-occ config:app:set richdocuments public_wopi_url --value ${lib.escapeShellArg public_wopi_url} + ${occ}/bin/nextcloud-occ config:app:set richdocuments wopi_allowlist --value ${lib.escapeShellArg wopi_allowlist} + ${occ}/bin/nextcloud-occ richdocuments:setup + ''; + serviceConfig = { + Type = "oneshot"; + }; + }; fileSystems."/mnt/nextcloud" = { device = "${xlib.dirs.nextcloud-folder}"; diff --git a/nixosModules/server/nginx.nix b/nixosModules/server/nginx.nix index 6055bf5..7f15a12 100755 --- a/nixosModules/server/nginx.nix +++ b/nixosModules/server/nginx.nix @@ -41,20 +41,20 @@ } ]; }; - # "localhost:9980" = { - # forceSSL = false; - # enableACME = false; - # listen = [ - # { - # addr = "100.64.0.0"; - # port = 9980; - # } - # { - # addr = "192.168.1.20"; - # port = 9980; - # } - # ]; - # }; + "localhost:9980" = { + forceSSL = false; + enableACME = false; + listen = [ + { + addr = "100.64.0.0"; + port = 9980; + } + { + addr = "192.168.1.20"; + port = 9980; + } + ]; + }; }; }; };