diff --git a/config.nix b/config.nix index 5ac15ea..44d65e3 100644 --- a/config.nix +++ b/config.nix @@ -5,41 +5,41 @@ in { options.services.cratedocs-mcp = { enable = lib.mkEnableOption "CrateDocs MCP server"; - + port = lib.mkOption { type = lib.types.int; default = 3000; description = "Port to listen on for HTTP/SSE server"; }; - + user = lib.mkOption { type = lib.types.str; default = "cratedocs-mcp"; description = "User to run the service as"; }; - + group = lib.mkOption { type = lib.types.str; default = "cratedocs-mcp"; description = "Group to run the service as"; }; }; - + config = lib.mkIf cfg.enable { systemd.services.cratedocs-mcp = { description = "CrateDocs MCP server"; after = [ "network.target" ]; wantedBy = [ "multi-user.target" ]; - + serviceConfig = { - ExecStart = "${lib.getExe pkgs.cratedocs-mcp} --port ${toString cfg.port}"; + ExecStart = "${lib.getExe pkgs.cratedocs-mcp} http -a 127.0.0.1:${toString cfg.port}"; Restart = "always"; User = cfg.user; Group = cfg.group; DynamicUser = true; StateDirectory = "cratedocs-mcp"; CacheDirectory = "cratedocs-mcp"; - + # Security hardening PrivateTmp = true; ProtectSystem = "strict"; @@ -64,4 +64,4 @@ in }; }; }; -} \ No newline at end of file +}