From 4ef2a18e9e358202347b9a67418bf7f1e51f7322 Mon Sep 17 00:00:00 2001 From: phaer Date: Tue, 25 Nov 2025 14:20:25 +0100 Subject: [PATCH 1/2] nixos/restic-rest-server: set ReusePort=true for socket to make restarts more robust --- nixos/modules/services/backup/restic-rest-server.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix index e8d34e879dc5..4abe906388a6 100644 --- a/nixos/modules/services/backup/restic-rest-server.nix +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -134,6 +134,9 @@ in systemd.sockets.restic-rest-server = { listenStreams = [ cfg.listenAddress ]; wantedBy = [ "sockets.target" ]; + socketConfig = { + ReusePort = true; + }; }; systemd.tmpfiles.rules = lib.mkIf cfg.privateRepos [ From f02f30a021790004f211f988f2ca047127c848e5 Mon Sep 17 00:00:00 2001 From: phaer Date: Tue, 25 Nov 2025 14:21:35 +0100 Subject: [PATCH 2/2] nixos/restic-rest-server: set FreeBind=true for socket... in order to allow binding to not (yet) locally available interfaces. man 5 systemd.socket says: > For robustness reasons it is recommended to use this option > whenever you bind a socket to a specific IP address. --- nixos/modules/services/backup/restic-rest-server.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/backup/restic-rest-server.nix b/nixos/modules/services/backup/restic-rest-server.nix index 4abe906388a6..6b374e0b0213 100644 --- a/nixos/modules/services/backup/restic-rest-server.nix +++ b/nixos/modules/services/backup/restic-rest-server.nix @@ -136,6 +136,7 @@ in wantedBy = [ "sockets.target" ]; socketConfig = { ReusePort = true; + FreeBind = true; }; };