diff --git a/pkgs/servers/headscale/default.nix b/pkgs/servers/headscale/default.nix index 8bb5a1eef31b5..ad52bb94e89e9 100644 --- a/pkgs/servers/headscale/default.nix +++ b/pkgs/servers/headscale/default.nix @@ -21,6 +21,10 @@ buildGoModule rec { patches = [ # backport of https://github.com/juanfont/headscale/pull/1697 ./trim-oidc-secret-path.patch + + # fix for headscale not reacting to SIGTERM + # see https://github.com/juanfont/headscale/pull/1480 and https://github.com/juanfont/headscale/issues/1461 + ./sigterm-fix.patch ]; ldflags = ["-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}"]; diff --git a/pkgs/servers/headscale/sigterm-fix.patch b/pkgs/servers/headscale/sigterm-fix.patch new file mode 100644 index 0000000000000..22a97d98caace --- /dev/null +++ b/pkgs/servers/headscale/sigterm-fix.patch @@ -0,0 +1,12 @@ +diff --git a/hscontrol/app.go b/hscontrol/app.go +index b8dceba..4bcf019 100644 +--- a/hscontrol/app.go ++++ b/hscontrol/app.go +@@ -821,6 +821,7 @@ func (h *Headscale) Serve() error { + + // And we're done: + cancel() ++ return + } + } + }