From efb032fffada9530fee8f6ca8e7b73947a5e094c Mon Sep 17 00:00:00 2001 From: Greg Karekinian Date: Tue, 24 Jun 2025 16:53:59 +0200 Subject: [PATCH 1/5] Opt-out of dotnet telemetry for btcpay This is done by setting an environment variable in the systemd unit Fixes #441 --- site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb index c88d7ec..2b69d76 100644 --- a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb +++ b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb @@ -74,6 +74,8 @@ if node["nbxplorer"]["postgres"] nbxpg_connect = "User ID=#{nbxpg_user};Password=#{nbxplorer_credentials['postgresql_password']};Database=#{nbxpg_database};Host=pg.kosmos.local;Port=5432;Application Name=btcpayserver;MaxPoolSize=80" end +systemd_unit_env = "'DOTNET_CLI_TELEMETRY_OPTOUT=1'" +systemd_unit_env << " 'BTCPAY_EXPLORERPOSTGRES=#{nbxpg_connect}'" if defined?(nbxpg_connect) systemd_unit 'btcpayserver.service' do content({ Unit: { @@ -87,7 +89,7 @@ systemd_unit 'btcpayserver.service' do Group: node['bitcoin']['usergroup'], Type: 'simple', WorkingDirectory: node['btcpay']['source_dir'], - Environment: defined?(nbxpg_connect) ? "'BTCPAY_EXPLORERPOSTGRES=#{nbxpg_connect}'" : '', + Environment: systemd_unit_env, ExecStart: "#{node['btcpay']['source_dir']}/run.sh --conf=#{node['btcpay']['config_path']}", PIDFile: '/run/btcpayserver/btcpayserver.pid', Restart: 'on-failure', @@ -103,6 +105,7 @@ systemd_unit 'btcpayserver.service' do verify false triggers_reload true action [:create] + notifies :reload, "systemd_unit[btcpayserver.service]", :delayed end service "btcpayserver" do From 89fa3ede9eff9c027131bf7eab20addc849840dc Mon Sep 17 00:00:00 2001 From: Greg Karekinian Date: Wed, 25 Jun 2025 09:51:35 +0200 Subject: [PATCH 2/5] Remove the condition on the postgresql Also move back the environment variable definitions to the hash --- site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb index 2b69d76..69974a6 100644 --- a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb +++ b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb @@ -74,8 +74,7 @@ if node["nbxplorer"]["postgres"] nbxpg_connect = "User ID=#{nbxpg_user};Password=#{nbxplorer_credentials['postgresql_password']};Database=#{nbxpg_database};Host=pg.kosmos.local;Port=5432;Application Name=btcpayserver;MaxPoolSize=80" end -systemd_unit_env = "'DOTNET_CLI_TELEMETRY_OPTOUT=1'" -systemd_unit_env << " 'BTCPAY_EXPLORERPOSTGRES=#{nbxpg_connect}'" if defined?(nbxpg_connect) +systemd_unit_env = "'BTCPAY_EXPLORERPOSTGRES=#{nbxpg_connect}' 'DOTNET_CLI_TELEMETRY_OPTOUT=1'" systemd_unit 'btcpayserver.service' do content({ Unit: { @@ -89,7 +88,7 @@ systemd_unit 'btcpayserver.service' do Group: node['bitcoin']['usergroup'], Type: 'simple', WorkingDirectory: node['btcpay']['source_dir'], - Environment: systemd_unit_env, + Environment: "'BTCPAY_EXPLORERPOSTGRES=#{nbxpg_connect}' 'DOTNET_CLI_TELEMETRY_OPTOUT=1'", ExecStart: "#{node['btcpay']['source_dir']}/run.sh --conf=#{node['btcpay']['config_path']}", PIDFile: '/run/btcpayserver/btcpayserver.pid', Restart: 'on-failure', From 2b49cb1b2b811af7aae84f8034af5122b8925e6e Mon Sep 17 00:00:00 2001 From: Greg Karekinian Date: Wed, 25 Jun 2025 10:13:25 +0200 Subject: [PATCH 3/5] Restart the btcpay service on config changes It cannot handle reloads --- site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb index 69974a6..efce809 100644 --- a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb +++ b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb @@ -104,7 +104,8 @@ systemd_unit 'btcpayserver.service' do verify false triggers_reload true action [:create] - notifies :reload, "systemd_unit[btcpayserver.service]", :delayed + # reload is not applicable + notifies :restart, "service[btcpayserver]", :delayed end service "btcpayserver" do From 7e47c879a1b419177bf3e9ba9a0a1b6de6963fc5 Mon Sep 17 00:00:00 2001 From: Greg Karekinian Date: Wed, 25 Jun 2025 10:18:57 +0200 Subject: [PATCH 4/5] Remove unused variable --- site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb | 1 - 1 file changed, 1 deletion(-) diff --git a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb index efce809..394bb6e 100644 --- a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb +++ b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb @@ -74,7 +74,6 @@ if node["nbxplorer"]["postgres"] nbxpg_connect = "User ID=#{nbxpg_user};Password=#{nbxplorer_credentials['postgresql_password']};Database=#{nbxpg_database};Host=pg.kosmos.local;Port=5432;Application Name=btcpayserver;MaxPoolSize=80" end -systemd_unit_env = "'BTCPAY_EXPLORERPOSTGRES=#{nbxpg_connect}' 'DOTNET_CLI_TELEMETRY_OPTOUT=1'" systemd_unit 'btcpayserver.service' do content({ Unit: { From cd269dca035d707df931f34970404bd9da7af3d1 Mon Sep 17 00:00:00 2001 From: Greg Karekinian Date: Wed, 25 Jun 2025 10:35:07 +0200 Subject: [PATCH 5/5] Also disable dotnet telemetry during the build --- site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb index 394bb6e..b657fb1 100644 --- a/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb +++ b/site-cookbooks/kosmos-bitcoin/recipes/btcpay.rb @@ -21,6 +21,7 @@ bash 'build_btcpay' do systemctl stop btcpayserver.service ./build.sh EOH + environment "DOTNET_CLI_TELEMETRY_OPTOUT" => 1 action :nothing notifies :restart, "service[btcpayserver]", :delayed end