From c94db5285bb7e7d87f7e1f7d00e750d78307d0c0 Mon Sep 17 00:00:00 2001 From: Florian Reimair Date: Mon, 17 Feb 2020 13:26:20 +0100 Subject: [PATCH 1/5] Install script for collectd --- monitor/collectd.conf | 136 +++++++++++++++++++++++++++ monitor/install_collectd_debian.sh | 62 ++++++++++++ monitor/nginx.conf | 30 ++++++ monitor/uninstall_collectd_debian.sh | 11 +++ seednode/README.md | 9 ++ seednode/bisq.env | 2 +- 6 files changed, 249 insertions(+), 1 deletion(-) create mode 100644 monitor/collectd.conf create mode 100755 monitor/install_collectd_debian.sh create mode 100644 monitor/nginx.conf create mode 100755 monitor/uninstall_collectd_debian.sh diff --git a/monitor/collectd.conf b/monitor/collectd.conf new file mode 100644 index 00000000000..f6106508b11 --- /dev/null +++ b/monitor/collectd.conf @@ -0,0 +1,136 @@ +Hostname "__ONION_ADDRESS__" +Interval 30 + +LoadPlugin syslog + + LogLevel info + + +LoadPlugin cpu +LoadPlugin df +LoadPlugin disk +LoadPlugin fhcount +LoadPlugin interface +LoadPlugin java +LoadPlugin load +LoadPlugin memory +LoadPlugin processes +LoadPlugin swap +LoadPlugin write_graphite + + + ReportByCpu true + ValuesPercentage true + + + + MountPoint "/" + + + + Disk "/[hs]da/" + + + + ValuesAbsolute false + ValuesPercentage true + + + + Interface "eth0" + + + + JVMArg "-verbose:jni" + JVMArg "-Djava.class.path=/usr/share/collectd/java/collectd-api.jar:/usr/share/collectd/java/generic-jmx.jar" + + LoadPlugin "org.collectd.java.GenericJMX" + + # Generic heap/nonheap memory usage. + + ObjectName "java.lang:type=Memory" + #InstanceFrom "" + InstancePrefix "memory" + + # Creates four values: committed, init, max, used + + Type "memory" + #InstancePrefix "" + #InstanceFrom "" + Table true + Attribute "HeapMemoryUsage" + InstancePrefix "heap-" + + + # Creates four values: committed, init, max, used + + Type "memory" + #InstancePrefix "" + #InstanceFrom "" + Table true + Attribute "NonHeapMemoryUsage" + InstancePrefix "nonheap-" + + + + # Memory usage by memory pool. + + ObjectName "java.lang:type=MemoryPool,*" + InstancePrefix "memory_pool-" + InstanceFrom "name" + + + Type "memory" + #InstancePrefix "" + #InstanceFrom "" + Table true + Attribute "Usage" + + + + + ServiceURL "service:jmx:rmi:///jndi/rmi://localhost:6969/jmxrmi" + Collect "memory_pool" + Collect "memory" + + + # See /usr/share/doc/collectd/examples/GenericJMX.conf + # for an example config. + + + +# +# ReportRelative true +# + +# +# ValuesAbsolute true +# ValuesPercentage false +# + +# +# Process "name" +# ProcessMatch "foobar" "/usr/bin/perl foobar\\.pl.*" +# + +# +# ReportByDevice false +# ReportBytes true +# + + + + Host "127.0.0.1" + Port "2003" + Protocol "tcp" + ReconnectInterval 0 + LogSendErrors false + Prefix "servers." + StoreRates true + AlwaysAppendDS false + EscapeCharacter "_" + SeparateInstances false + PreserveSeparator false + DropDuplicateFields false + + diff --git a/monitor/install_collectd_debian.sh b/monitor/install_collectd_debian.sh new file mode 100755 index 00000000000..01df5f8fdcf --- /dev/null +++ b/monitor/install_collectd_debian.sh @@ -0,0 +1,62 @@ +#!/bin/sh +set -e + +echo "[*] Bisq Server Monitoring installation script" + +##### change paths if necessary for your system + +ROOT_USER=root +ROOT_GROUP=root +ROOT_PKG="nginx collectd openssl" + +SYSTEMD_ENV_HOME=/etc/default + +##### + +echo "[*] Gathering information" +read -p "Please provide the onion address of your service (eg. 3f3cu2yw7u457ztq): " onionaddress + +echo "[*] Updating apt repo sources" +sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get update -q + +echo "[*] Upgrading OS packages" +sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get upgrade -qq -y + +echo "[*] Installing base packages" +sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get install -qq -y "${ROOT_PKG}" + +echo "[*] Preparing Bisq init script for monitoring" +# remove stuff it it is there already +sudo -H -i -u "${ROOT_USER}" sed -i 's/ -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.rmi.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false//' "${SYSTEMD_ENV_HOME}/bisq.env" +sudo -H -i -u "${ROOT_USER}" sed -i -e '/JAVA_OPTS/ s/"$/ -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=true -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.rmi.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"/' "${SYSTEMD_ENV_HOME}/bisq.env" + +echo "[*] Installing Nginx config" +sudo -H -i -u "${ROOT_USER}" openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt -subj="/O=Bisq/OU=Bisq Infrastructure/CN=$onionaddress" +curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/monitor/nginx.conf > /tmp/nginx.conf +sudo -H -i -u "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 /tmp/nginx.conf /etc/nginx/nginx.conf + +echo "[*] Installing collectd config" +curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/monitor/collectd.conf > /tmp/collectd.conf +sudo -H -i -u "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 /tmp/collectd.conf /etc/collectd/collectd.conf +sudo -H -i -u "${ROOT_USER}" sed -i -e "s/__ONION_ADDRESS__/$onionaddress/" /etc/collectd/collectd.conf + +echo "[*] Updating systemd daemon configuration" +sudo -H -i -u "${ROOT_USER}" systemctl daemon-reload +sudo -H -i -u "${ROOT_USER}" systemctl enable nginx.service +sudo -H -i -u "${ROOT_USER}" systemctl enable collectd.service + +echo "[*] Restarting services" +sudo -H -i -u "${ROOT_USER}" systemctl restart bisq.service +sudo -H -i -u "${ROOT_USER}" systemctl restart nginx.service +sudo -H -i -u "${ROOT_USER}" systemctl restart collectd.service + +echo '[*] Done!' + +echo ' ' +echo '[*] Report this certificate to the monitoring team!' +echo '----------------------------------------------------------------' +echo "Server: $onionaddress" +echo ' ' +cat /etc/nginx/cert.crt +echo '----------------------------------------------------------------' +echo ' ' diff --git a/monitor/nginx.conf b/monitor/nginx.conf new file mode 100644 index 00000000000..2ca6b96f375 --- /dev/null +++ b/monitor/nginx.conf @@ -0,0 +1,30 @@ +load_module /usr/lib/nginx/modules/ngx_stream_module.so; + +worker_processes 1; + +events { + worker_connections 1024; +} + +stream { + + log_format basic '$remote_addr [$time_local] ' + '$protocol Status $status Sent $bytes_sent Received $bytes_received ' + 'Time $session_time'; + + error_log syslog:server=unix:/dev/log; + access_log syslog:server=unix:/dev/log basic; + + server { + listen 2003; + allow 127.0.0.1; + deny all; + proxy_pass monitor.bisq.network:2002; + proxy_ssl on; + + proxy_ssl_certificate /etc/nginx/cert.crt; + proxy_ssl_certificate_key /etc/nginx/cert.key; + + proxy_ssl_session_reuse on; + } +} diff --git a/monitor/uninstall_collectd_debian.sh b/monitor/uninstall_collectd_debian.sh new file mode 100755 index 00000000000..dc63b4cc00d --- /dev/null +++ b/monitor/uninstall_collectd_debian.sh @@ -0,0 +1,11 @@ +#!/bin/sh +echo "[*] Stopping Bisq Server monitoring utensils" +echo ' ' +echo 'This script will not remove any configuration or binaries from the system. It just stops the services.' + +sleep 10 +sudo systemctl stop nginx +sudo systemctl stop collectd +sudo systemctl disable nginx +sudo systemctl disable collectd +echo "[*] Done!" diff --git a/seednode/README.md b/seednode/README.md index d8ded5c22aa..5b4ff5417bf 100644 --- a/seednode/README.md +++ b/seednode/README.md @@ -61,6 +61,15 @@ macOS: /Applications/Bisq.app/Contents/MacOS/Bisq --seedNodes=foo.onion:8000 --btcNodes=foo.onion:8333 ``` +### Monitoring + +If you run a main seednode, you also are obliged to activate the monitoring feed by running + +```bash +curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/monitor/install_collectd_debian.sh | sudo bash +``` +Follow the instruction given by the script and report your certificate to the seednode group! + ### Upgrading To upgrade your seednode to a new tag, for example v1.2.5 diff --git a/seednode/bisq.env b/seednode/bisq.env index d26aa471ca4..51bac72177c 100644 --- a/seednode/bisq.env +++ b/seednode/bisq.env @@ -5,7 +5,7 @@ JAVA_HOME=/usr/lib/jvm/openjdk-10.0.2 # java memory and remote management options -JAVA_OPTS="-Xms4096M -Xmx4096M -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.rmi.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false" +JAVA_OPTS="-Xms4096M -Xmx4096M" # bitcoin rpc credentials BITCOIN_RPC_USER=__BITCOIN_RPC_USER__ From 0d17bb6e82f2d88141d3223a3c43f29ec021f6c4 Mon Sep 17 00:00:00 2001 From: Florian Reimair Date: Tue, 18 Feb 2020 12:11:28 +0100 Subject: [PATCH 2/5] Install script for network size metric --- pricenode/collectd.conf.snippet | 5 +++ pricenode/install_networksize_debian.sh | 42 +++++++++++++++++++++++++ pricenode/journalscraper.sh | 20 ++++++++++++ 3 files changed, 67 insertions(+) create mode 100644 pricenode/collectd.conf.snippet create mode 100755 pricenode/install_networksize_debian.sh create mode 100755 pricenode/journalscraper.sh diff --git a/pricenode/collectd.conf.snippet b/pricenode/collectd.conf.snippet new file mode 100644 index 00000000000..49d93c5eda3 --- /dev/null +++ b/pricenode/collectd.conf.snippet @@ -0,0 +1,5 @@ +LoadPlugin exec + + + Exec "__USER_GROUP__" "__SCRAPERSCRIPT__" + diff --git a/pricenode/install_networksize_debian.sh b/pricenode/install_networksize_debian.sh new file mode 100755 index 00000000000..bc25b3c6ddd --- /dev/null +++ b/pricenode/install_networksize_debian.sh @@ -0,0 +1,42 @@ +#!/bin/sh +set -e + +echo "[*] Network Size Monitoring installation script" + +##### change paths if necessary for your system + +ROOT_USER=root + +SCRAPER_HOME=/journalreader +SCRAPER_USER=journalreader +SCRAPER_GROUP=systemd-journal + +##### +echo "[*] Checking environment..." +if [ ! -f "/etc/collectd/collectd.conf" ]; then + echo 'Collectd is not installed. Did you do the install_monitoring_debian.sh?' + echo 'Exiting...' + exit +fi + +echo "[*] Creating journal reader user" +sudo -H -i -u "${ROOT_USER}" useradd -d "${SCRAPER_HOME}" -G "${SCRAPER_GROUP}" "${SCRAPER_USER}" +sudo -H -i -u "${ROOT_USER}" mkdir -p "${SCRAPER_HOME}" +sudo -H -i -u "${ROOT_USER}" chown "${SCRAPER_USER}":"${SCRAPER_GROUP}" ${SCRAPER_HOME} + +echo "[*] Installing journal parser script" +curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/pricenode/journalscraper.sh > /tmp/journalscraper.sh +sudo -H -i -u "${ROOT_USER}" install -c -o "${SCRAPER_USER}" -g "${SCRAPER_GROUP}" -m 744 /tmp/journalscraper.sh "${SCRAPER_HOME}/scraperscript.sh" + +echo "[*] Installing collectd config" +curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/pricenode/collectd.conf.snippet > /tmp/collectd.conf.snippet +sudo -H -i -u "${ROOT_USER}" /bin/sh -c "cat /tmp/collectd.conf.snippet >> /etc/collectd/collectd.conf" +sudo -H -i -u "${ROOT_USER}" sed -i -e "s/__USER_GROUP__/${SCRAPER_USER}:${SCRAPER_GROUP}/" /etc/collectd/collectd.conf +sudo -H -i -u "${ROOT_USER}" sed -i -e "s!__SCRAPERSCRIPT__!${SCRAPER_HOME}/scraperscript.sh!" /etc/collectd/collectd.conf + +sudo -H -i -u "${ROOT_USER}" systemctl enable collectd.service + +echo "[*] Restarting services" +sudo -H -i -u "${ROOT_USER}" systemctl restart collectd.service + +echo '[*] Done!' diff --git a/pricenode/journalscraper.sh b/pricenode/journalscraper.sh new file mode 100755 index 00000000000..122f71e7c2b --- /dev/null +++ b/pricenode/journalscraper.sh @@ -0,0 +1,20 @@ +#!/bin/sh + +HOSTNAME="${COLLECTD_HOSTNAME:-localhost}" +INTERVAL=750 + +last=$(date +"%F %T" -d "$INTERVAL seconds ago") +while true; +do + now=$(date +"%F %T") + + journalctl -u bisq --since="$last" --until="$now" | grep -Eo "getAllMarketPrices.*bisq/[0-9].[0-9].[0-9]" | cut -d / -f 2 | sort | uniq -c | while read -r line; do + number=$(echo "${line}" | cut -d ' ' -f 1); + version=$(echo "${line}" | cut -d \ -f 2); + version=${version//./_}; + echo "PUTVAL $HOSTNAME/requestsPer750Seconds/gauge-v$version interval=$INTERVAL N:$number"; + done + last=$now + + sleep $INTERVAL +done From d41a4d220dc378cdb393a4737b456df5e8d92ab3 Mon Sep 17 00:00:00 2001 From: Florian Reimair Date: Thu, 20 Feb 2020 12:52:57 +0100 Subject: [PATCH 3/5] Apply suggestions from code review Co-Authored-By: wiz --- monitor/install_collectd_debian.sh | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/monitor/install_collectd_debian.sh b/monitor/install_collectd_debian.sh index 01df5f8fdcf..24935c2b6ed 100755 --- a/monitor/install_collectd_debian.sh +++ b/monitor/install_collectd_debian.sh @@ -4,7 +4,8 @@ set -e echo "[*] Bisq Server Monitoring installation script" ##### change paths if necessary for your system - +BISQ_REPO_URL=https://raw.githubusercontent.com/bisq-network/bisq +BISQ_REPO_TAG=master ROOT_USER=root ROOT_GROUP=root ROOT_PKG="nginx collectd openssl" @@ -23,20 +24,22 @@ echo "[*] Upgrading OS packages" sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get upgrade -qq -y echo "[*] Installing base packages" -sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get install -qq -y "${ROOT_PKG}" +sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get install -qq -y ${ROOT_PKG} echo "[*] Preparing Bisq init script for monitoring" # remove stuff it it is there already -sudo -H -i -u "${ROOT_USER}" sed -i 's/ -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.host=127.0.0.1 -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.rmi.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false//' "${SYSTEMD_ENV_HOME}/bisq.env" +sudo -H -i -u "${ROOT_USER}" sed -i -e 's/ -Dcom.sun.management.jmxremote //g' -e 's/-Dcom.sun.management.jmxremote.local.only=true//g' -e 's/ -Dcom.sun.management.jmxremote.host=127.0.0.1//g' -e 's/ -Dcom.sun.management.jmxremote.port=6969//g' -e 's/ -Dcom.sun.management.jmxremote.rmi.port=6969//g' -e 's/ -Dcom.sun.management.jmxremote.ssl=false//g' -e 's/ -Dcom.sun.management.jmxremote.authenticate=false//g' "${SYSTEMD_ENV_HOME}/bisq.env" sudo -H -i -u "${ROOT_USER}" sed -i -e '/JAVA_OPTS/ s/"$/ -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=true -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.rmi.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"/' "${SYSTEMD_ENV_HOME}/bisq.env" +echo "[*] Seeding entropy from /dev/urandom" +sudo -H -i -u "${ROOT_USER}" /bin/sh -c "head -1500 /dev/urandom > ${ROOT_HOME}/.rnd" echo "[*] Installing Nginx config" sudo -H -i -u "${ROOT_USER}" openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/nginx/cert.key -out /etc/nginx/cert.crt -subj="/O=Bisq/OU=Bisq Infrastructure/CN=$onionaddress" -curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/monitor/nginx.conf > /tmp/nginx.conf +curl -s "${BISQ_REPO_URL}/${BISQ_REPO_TAG}/monitor/nginx.conf" > /tmp/nginx.conf sudo -H -i -u "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 /tmp/nginx.conf /etc/nginx/nginx.conf echo "[*] Installing collectd config" -curl -s https://raw.githubusercontent.com/bisq-network/bisq/master/monitor/collectd.conf > /tmp/collectd.conf +curl -s "${BISQ_REPO_URL}/${BISQ_REPO_TAG}/monitor/collectd.conf" > /tmp/collectd.conf sudo -H -i -u "${ROOT_USER}" install -c -o "${ROOT_USER}" -g "${ROOT_GROUP}" -m 644 /tmp/collectd.conf /etc/collectd/collectd.conf sudo -H -i -u "${ROOT_USER}" sed -i -e "s/__ONION_ADDRESS__/$onionaddress/" /etc/collectd/collectd.conf From 257e9bb71fcad4a41744904a9ff05b93736e5b9b Mon Sep 17 00:00:00 2001 From: Florian Reimair Date: Thu, 20 Feb 2020 13:20:59 +0100 Subject: [PATCH 4/5] Update monitor/install_collectd_debian.sh Co-Authored-By: wiz --- monitor/install_collectd_debian.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/monitor/install_collectd_debian.sh b/monitor/install_collectd_debian.sh index 24935c2b6ed..ee22a2b49bf 100755 --- a/monitor/install_collectd_debian.sh +++ b/monitor/install_collectd_debian.sh @@ -8,6 +8,7 @@ BISQ_REPO_URL=https://raw.githubusercontent.com/bisq-network/bisq BISQ_REPO_TAG=master ROOT_USER=root ROOT_GROUP=root +ROOT_HOME=~root ROOT_PKG="nginx collectd openssl" SYSTEMD_ENV_HOME=/etc/default From 1c83d09649b7033387cbf9040f52119a55bdc97f Mon Sep 17 00:00:00 2001 From: Florian Reimair Date: Thu, 20 Feb 2020 14:30:14 +0100 Subject: [PATCH 5/5] Apply suggestions from code review Co-Authored-By: wiz --- monitor/install_collectd_debian.sh | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/monitor/install_collectd_debian.sh b/monitor/install_collectd_debian.sh index ee22a2b49bf..91f1ad8d1b3 100755 --- a/monitor/install_collectd_debian.sh +++ b/monitor/install_collectd_debian.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash set -e echo "[*] Bisq Server Monitoring installation script" @@ -9,7 +9,7 @@ BISQ_REPO_TAG=master ROOT_USER=root ROOT_GROUP=root ROOT_HOME=~root -ROOT_PKG="nginx collectd openssl" +ROOT_PKG=(nginx collectd openssl) SYSTEMD_ENV_HOME=/etc/default @@ -25,11 +25,11 @@ echo "[*] Upgrading OS packages" sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get upgrade -qq -y echo "[*] Installing base packages" -sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get install -qq -y ${ROOT_PKG} +sudo -H -i -u "${ROOT_USER}" DEBIAN_FRONTEND=noninteractive apt-get install -qq -y ${ROOT_PKG[@]} echo "[*] Preparing Bisq init script for monitoring" # remove stuff it it is there already -sudo -H -i -u "${ROOT_USER}" sed -i -e 's/ -Dcom.sun.management.jmxremote //g' -e 's/-Dcom.sun.management.jmxremote.local.only=true//g' -e 's/ -Dcom.sun.management.jmxremote.host=127.0.0.1//g' -e 's/ -Dcom.sun.management.jmxremote.port=6969//g' -e 's/ -Dcom.sun.management.jmxremote.rmi.port=6969//g' -e 's/ -Dcom.sun.management.jmxremote.ssl=false//g' -e 's/ -Dcom.sun.management.jmxremote.authenticate=false//g' "${SYSTEMD_ENV_HOME}/bisq.env" +sudo -H -i -u "${ROOT_USER}" sed -i -e 's/-Dcom.sun.management.jmxremote //g' -e 's/-Dcom.sun.management.jmxremote.local.only=true//g' -e 's/ -Dcom.sun.management.jmxremote.host=127.0.0.1//g' -e 's/ -Dcom.sun.management.jmxremote.port=6969//g' -e 's/ -Dcom.sun.management.jmxremote.rmi.port=6969//g' -e 's/ -Dcom.sun.management.jmxremote.ssl=false//g' -e 's/ -Dcom.sun.management.jmxremote.authenticate=false//g' "${SYSTEMD_ENV_HOME}/bisq.env" sudo -H -i -u "${ROOT_USER}" sed -i -e '/JAVA_OPTS/ s/"$/ -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=true -Dcom.sun.management.jmxremote.port=6969 -Dcom.sun.management.jmxremote.rmi.port=6969 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"/' "${SYSTEMD_ENV_HOME}/bisq.env" echo "[*] Seeding entropy from /dev/urandom"