diff --git a/nixos/modules/services/web-apps/onlyoffice.nix b/nixos/modules/services/web-apps/onlyoffice.nix index 50b723c9f0f3..5ac94c0cefcc 100644 --- a/nixos/modules/services/web-apps/onlyoffice.nix +++ b/nixos/modules/services/web-apps/onlyoffice.nix @@ -330,6 +330,7 @@ in after = [ "network.target" "postgresql.target" + "rabbitmq.service" ]; requires = [ "postgresql.target" ]; wantedBy = [ "multi-user.target" ]; diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix index 3ebcadf90136..ac16eaf315a7 100644 --- a/nixos/tests/all-tests.nix +++ b/nixos/tests/all-tests.nix @@ -1139,6 +1139,7 @@ in ombi = runTest ./ombi.nix; omnom = runTest ./omnom; oncall = runTest ./web-apps/oncall.nix; + onlyoffice = runTest ./onlyoffice.nix; open-web-calendar = runTest ./web-apps/open-web-calendar.nix; open-webui = runTest ./open-webui.nix; openarena = runTest ./openarena.nix; diff --git a/nixos/tests/onlyoffice.nix b/nixos/tests/onlyoffice.nix new file mode 100644 index 000000000000..bf0960671247 --- /dev/null +++ b/nixos/tests/onlyoffice.nix @@ -0,0 +1,30 @@ +let + port = 8000; +in +{ + name = "onlyoffice"; + + nodes.machine = + { pkgs, ... }: + { + services.onlyoffice = { + enable = true; + inherit port; + hostname = "office.example.com"; + securityNonceFile = "${pkgs.writeText "nixos-test-onlyoffice-nonce.conf" '' + set $secure_link_secret "nixostest"; + ''}"; + }; + + networking.hosts = { + "::1" = [ "office.example.com" ]; + }; + }; + + testScript = '' + machine.wait_for_unit("onlyoffice-docservice.service") + machine.wait_for_unit("onlyoffice-converter.service") + machine.wait_for_open_port(${builtins.toString port}) + machine.succeed("curl --fail http://office.example.com/healthcheck") + ''; +} diff --git a/pkgs/by-name/on/onlyoffice-documentserver/package.nix b/pkgs/by-name/on/onlyoffice-documentserver/package.nix index 2f36aeebf101..fda9ba6fa8b4 100644 --- a/pkgs/by-name/on/onlyoffice-documentserver/package.nix +++ b/pkgs/by-name/on/onlyoffice-documentserver/package.nix @@ -10,6 +10,7 @@ liberation_ttf_v1, writeScript, xorg, + nixosTests, }: let @@ -72,6 +73,7 @@ let dontStrip = true; passthru = { + tests = nixosTests.onlyoffice; fhs = buildFHSEnv { name = "onlyoffice-wrapper";