From 742ee97845df9afa82cd51c54c81f8388a9deed1 Mon Sep 17 00:00:00 2001 From: Alexandru Scvortov Date: Thu, 25 Jul 2024 14:28:25 +0100 Subject: [PATCH] livebook: fix service not starting when LIVEBOOK_COOKIE was not set --- nixos/modules/services/development/livebook.nix | 7 +++++++ nixos/tests/livebook-service.nix | 5 +---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/nixos/modules/services/development/livebook.nix b/nixos/modules/services/development/livebook.nix index 937d854d4dc5..859083635201 100644 --- a/nixos/modules/services/development/livebook.nix +++ b/nixos/modules/services/development/livebook.nix @@ -89,6 +89,13 @@ in EnvironmentFile = cfg.environmentFile; ExecStart = "${cfg.package}/bin/livebook start"; KillMode = "mixed"; + + # Fix for the issue described here: + # https://github.com/livebook-dev/livebook/issues/2691 + # + # Without this, the livebook service fails to start and gets + # stuck running a `cat /dev/urandom | tr | fold` pipeline. + IgnoreSIGPIPE = false; }; environment = mapAttrs (name: value: if isBool value then boolToString value else toString value) diff --git a/nixos/tests/livebook-service.nix b/nixos/tests/livebook-service.nix index f428412e1644..2d699efb1e3e 100644 --- a/nixos/tests/livebook-service.nix +++ b/nixos/tests/livebook-service.nix @@ -11,9 +11,6 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { enableUserService = true; environment = { LIVEBOOK_PORT = 20123; - LIVEBOOK_COOKIE = "chocolate chip"; - LIVEBOOK_TOKEN_ENABLED = true; - }; environmentFile = pkgs.writeText "livebook.env" '' LIVEBOOK_PASSWORD = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" @@ -38,7 +35,7 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: { machine.succeed("loginctl enable-linger alice") machine.wait_until_succeeds("${sudo} systemctl --user is-active livebook.service") - machine.wait_for_open_port(20123) + machine.wait_for_open_port(20123, timeout=10) machine.succeed("curl -L localhost:20123 | grep 'Type password'") '';