From 1bf798b8cb1da83ebedf408115590d3d002e3609 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Mon, 21 May 2018 14:15:58 +0200 Subject: nixos/ipfs: Add option to disable local port scanning for ipfs daemon --- nixos/modules/services/network-filesystems/ipfs.nix | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index e2122ddb8ede..b5903d113c57 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -186,6 +186,16 @@ in { default = []; }; + localDiscovery = mkOption { + type = types.bool; + description = ''Whether to enable local discovery for the ipfs daemon. + This will prevent ipfs to scan ports on your local network. Some hosting services will ban you if you do. + + This option only has an effect before you initialized ipfs your machine. + ''; + default = true; + }; + serviceFdlimit = mkOption { type = types.nullOr types.int; default = null; @@ -232,7 +242,8 @@ in { ''; script = '' if [[ ! -f ${cfg.dataDir}/config ]]; then - ipfs init ${optionalString cfg.emptyRepo "-e"} + ipfs init ${optionalString cfg.emptyRepo "-e"} \ + ${optionalString (! cfg.localDiscovery) "--profile=server"} fi ''; -- cgit 1.4.1 From 2009c76a665435f706a27768d8dba69736ae1282 Mon Sep 17 00:00:00 2001 From: Sebastian Jordan Date: Wed, 23 May 2018 16:44:31 +0200 Subject: nixos/ipfs: Improve behavior of localDiscovery option It is no longer required to change the config your ipfs repo manually if you change localDiscovery option in nixos configuration after ipfs repository initialization. --- nixos/modules/services/network-filesystems/ipfs.nix | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix index b5903d113c57..ab6d3a3d2fa4 100644 --- a/nixos/modules/services/network-filesystems/ipfs.nix +++ b/nixos/modules/services/network-filesystems/ipfs.nix @@ -189,9 +189,7 @@ in { localDiscovery = mkOption { type = types.bool; description = ''Whether to enable local discovery for the ipfs daemon. - This will prevent ipfs to scan ports on your local network. Some hosting services will ban you if you do. - - This option only has an effect before you initialized ipfs your machine. + This will allow ipfs to scan ports on your local network. Some hosting services will ban you if you do this. ''; default = true; }; @@ -244,6 +242,11 @@ in { if [[ ! -f ${cfg.dataDir}/config ]]; then ipfs init ${optionalString cfg.emptyRepo "-e"} \ ${optionalString (! cfg.localDiscovery) "--profile=server"} + else + ${if cfg.localDiscovery + then "ipfs config profile apply local-discovery" + else "ipfs config profile apply server" + } fi ''; -- cgit 1.4.1