From 71c578f866efe61f744bac63dfd797ebd6dce619 Mon Sep 17 00:00:00 2001 From: Dennis Reimann Date: Tue, 26 Nov 2024 08:25:59 +0100 Subject: [PATCH] App: Docker Compose additions For this one, @kukks is the owner and can procide more detail. --- .../docker-compose.mutinynet.yml | 338 ++++++++++++++++++ BTCPayServer.Tests/docker-compose.testnet.yml | 328 +++++++++++++++++ BTCPayServer.Tests/docker-compose.yml | 4 + .../Configuration/BTCPayServerOptions.cs | 3 - BTCPayServer/Properties/launchSettings.json | 76 ++++ 5 files changed, 746 insertions(+), 3 deletions(-) create mode 100644 BTCPayServer.Tests/docker-compose.mutinynet.yml create mode 100644 BTCPayServer.Tests/docker-compose.testnet.yml diff --git a/BTCPayServer.Tests/docker-compose.mutinynet.yml b/BTCPayServer.Tests/docker-compose.mutinynet.yml new file mode 100644 index 000000000..6b7d4c2c5 --- /dev/null +++ b/BTCPayServer.Tests/docker-compose.mutinynet.yml @@ -0,0 +1,338 @@ +version: "3" + +# Run `docker-compose up dev` for bootstrapping your development environment +# Doing so will expose NBXplorer, Bitcoind RPC and postgres port to the host so that tests can Run, +# The Visual Studio launch setting `Docker-signet` is configured to use this environment. +services: + + tests: + build: + context: .. + dockerfile: BTCPayServer.Tests/Dockerfile + args: + CONFIGURATION_NAME: Release + environment: + TESTS_EXPERIMENTALV2_CONFIRM: "true" + TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3 + TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/ + TESTS_DB: "Postgres" + TESTS_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=btcpayserver_mutinynet + TESTS_EXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer_mutinynet + TESTS_HOSTNAME: tests + TESTS_RUN_EXTERNAL_INTEGRATION: ${TESTS_RUN_EXTERNAL_INTEGRATION:-"false"} + TESTS_AzureBlobStorageConnectionString: ${TESTS_AzureBlobStorageConnectionString:-none} + TEST_MERCHANTLIGHTNINGD: "type=clightning;server=unix://etc/merchant_lightningd_datadir/lightning-rpc" + TEST_CUSTOMERLIGHTNINGD: "type=clightning;server=unix://etc/customer_lightningd_datadir/lightning-rpc" + TEST_MERCHANTLND: "http://merchant_lnd:8080/" + TESTS_INCONTAINER: "true" + TESTS_SSHCONNECTION: "root@sshd:22" + TESTS_SSHPASSWORD: "" + TESTS_SSHKEYFILE: "" + TESTS_SOCKSENDPOINT: "tor:9050" + expose: + - "80" + depends_on: + - dev + - selenium + extra_hosts: + - "tests:127.0.0.1" + networks: + default: + custom: + ipv4_address: 172.23.0.18 + volumes: + - "sshd_datadir:/root/.ssh" + - "customer_lightningd_datadir:/etc/customer_lightningd_datadir" + - "merchant_lightningd_datadir:/etc/merchant_lightningd_datadir" + + # The dev container is not actually used, it is just handy to run `docker-compose up dev` to start all services + dev: + image: alpine:3.7 + command: [ "/bin/sh", "-c", "trap : TERM INT; while :; do echo Ready to code and debug like a rockstar!!!; sleep 2073600; done & wait" ] + depends_on: + - nbxplorer + - postgres + - customer_lightningd + - merchant_lightningd + - customer_lnd + - merchant_lnd + - sshd + - tor + + sshd: + build: + context: . + dockerfile: sshd.Dockerfile + ports: + - "21622:22" + expose: + - 22 + volumes: + - "sshd_datadir:/root/.ssh" + + devlnd: + image: btcpayserver/mutinynet:c23afab47fbe + environment: + BITCOIN_NETWORK: signet + BITCOIN_WALLETDIR: "/data/wallets" + BITCOIN_EXTRA_ARGS: | + deprecatedrpc=signrawtransaction + connect=bitcoind:39388 + fallbackfee=0.0002 + rpcallowip=0.0.0.0/0 + [signet] + signetchallenge=512102f7561d208dd9ae99bf497273e16f389bdbd6c4742ddb8e6b216e64fa2928ad8f51ae + addnode=45.79.52.207:38333 + dnsseed=0 + signetblocktime=30 + depends_on: + - nbxplorer + - postgres + - customer_lnd + - merchant_lnd + + selenium: + image: selenium/standalone-chrome:125.0 + extra_hosts: + - "tests:172.23.0.18" + expose: + - "4444" + networks: + default: + custom: + + nbxplorer: + image: nicolasdorier/nbxplorer:2.5.4 + restart: unless-stopped + ports: + - "32838:32838" + expose: + - "32838" + environment: + NBXPLORER_NETWORK: signet + NBXPLORER_CHAINS: "btc" + NBXPLORER_BTCRPCURL: http://bitcoind:43782/ + NBXPLORER_BTCNODEENDPOINT: bitcoind:39388 + NBXPLORER_BTCRPCUSER: ceiwHEbqWI83 + NBXPLORER_BTCRPCPASSWORD: DwubwWsoo3 + NBXPLORER_BIND: 0.0.0.0:32838 + NBXPLORER_MINGAPSIZE: 5 + NBXPLORER_MAXGAPSIZE: 10 + NBXPLORER_VERBOSE: 1 + NBXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer_mutinynet + NBXPLORER_EXPOSERPC: 1 + NBXPLORER_NOAUTH: 1 + depends_on: + - bitcoind + + bitcoind: + restart: unless-stopped + image: btcpayserver/mutinynet:c23afab47fbe + environment: + BITCOIN_NETWORK: signet + BITCOIN_WALLETDIR: "/data/wallets" + BITCOIN_EXTRA_ARGS: |- + rpcuser=ceiwHEbqWI83 + rpcpassword=DwubwWsoo3 + rpcport=43782 + rpcbind=0.0.0.0:43782 + rpcallowip=0.0.0.0/0 + port=39388 + whitelist=0.0.0.0/0 + zmqpubrawblock=tcp://0.0.0.0:28332 + zmqpubrawtx=tcp://0.0.0.0:28333 + deprecatedrpc=signrawtransaction + fallbackfee=0.0002 + [signet] + signetchallenge=512102f7561d208dd9ae99bf497273e16f389bdbd6c4742ddb8e6b216e64fa2928ad8f51ae + addnode=45.79.52.207:38333 + dnsseed=0 + signetblocktime=30 + ports: + - "43782:43782" + - "39388:39388" + expose: + - "43782" # RPC + - "39388" # P2P + - "28332" # ZMQ + - "28333" # ZMQ + volumes: + - "bitcoin_datadir:/data" + + customer_lightningd: + image: btcpayserver/lightning:v24.05 + stop_signal: SIGKILL + restart: unless-stopped + environment: + EXPOSE_TCP: "true" + LIGHTNINGD_CHAIN: "btc" + LIGHTNINGD_NETWORK: "signet" + LIGHTNINGD_OPT: | + developer + bitcoin-datadir=/etc/bitcoin + bitcoin-rpcconnect=bitcoind + announce-addr=customer_lightningd:9735 + log-level=debug + funding-confirms=1 + dev-fast-gossip + dev-bitcoind-poll=1 + ports: + - "30992:9835" # api port + - "30892:9735" # server port + expose: + - "9735" # server port + - "9835" # api port + volumes: + - "bitcoin_datadir:/etc/bitcoin" + - "customer_lightningd_datadir:/root/.lightning" + depends_on: + - bitcoind + + merchant_lightningd: + image: btcpayserver/lightning:v24.05 + stop_signal: SIGKILL + restart: unless-stopped + environment: + EXPOSE_TCP: "true" + LIGHTNINGD_CHAIN: "btc" + LIGHTNINGD_NETWORK: "signet" + LIGHTNINGD_OPT: | + developer + bitcoin-datadir=/etc/bitcoin + bitcoin-rpcconnect=bitcoind + announce-addr=merchant_lightningd:9735 + funding-confirms=1 + log-level=debug + dev-fast-gossip + dev-bitcoind-poll=1 + ports: + - "30993:9835" # api port + - "30893:9735" # server port + expose: + - "9735" # server port + - "9835" # api port + volumes: + - "bitcoin_datadir:/etc/bitcoin" + - "merchant_lightningd_datadir:/root/.lightning" + depends_on: + - bitcoind + + postgres: + image: postgres:13.13 + environment: + POSTGRES_HOST_AUTH_METHOD: trust + ports: + - "39372:5432" + expose: + - "5432" + + merchant_lnd: + image: btcpayserver/lnd:v0.18.1-beta + restart: unless-stopped + environment: + LND_CHAIN: "btc" + LND_ENVIRONMENT: "signet" + LND_EXPLORERURL: "http://nbxplorer:32838/" + LND_REST_LISTEN_HOST: http://merchant_lnd:8080 + LND_EXTRA_ARGS: | + restlisten=merchant_lnd:8080 + rpclisten=127.0.0.1:10008 + rpclisten=merchant_lnd:10009 + bitcoin.node=bitcoind + bitcoind.rpchost=bitcoind:43782 + bitcoind.rpcuser=ceiwHEbqWI83 + bitcoind.rpcpass=DwubwWsoo3 + bitcoind.zmqpubrawblock=tcp://bitcoind:28332 + bitcoind.zmqpubrawtx=tcp://bitcoind:28333 + externalip=merchant_lnd:9735 + bitcoin.defaultchanconfs=1 + no-macaroons=1 + debuglevel=debug + trickledelay=1000 + no-rest-tls=1 + ports: + - "35531:8080" + - "53280:10009" + - "30894:9735" + expose: + - "8080" + - "9735" + - "10009" + volumes: + - "merchant_lnd_datadir:/data" + - "bitcoin_datadir:/deps/.bitcoin" + depends_on: + - bitcoind + + customer_lnd: + image: btcpayserver/lnd:v0.18.1-beta + restart: unless-stopped + environment: + LND_CHAIN: "btc" + LND_ENVIRONMENT: "signet" + LND_EXPLORERURL: "http://nbxplorer:32838/" + LND_REST_LISTEN_HOST: http://customer_lnd:8080 + LND_EXTRA_ARGS: | + restlisten=customer_lnd:8080 + rpclisten=127.0.0.1:10008 + rpclisten=customer_lnd:10009 + bitcoin.node=bitcoind + bitcoind.rpchost=bitcoind:43782 + bitcoind.rpcuser=ceiwHEbqWI83 + bitcoind.rpcpass=DwubwWsoo3 + bitcoind.zmqpubrawblock=tcp://bitcoind:28332 + bitcoind.zmqpubrawtx=tcp://bitcoind:28333 + externalip=customer_lnd:9735 + bitcoin.defaultchanconfs=1 + no-macaroons=1 + debuglevel=debug + trickledelay=1000 + no-rest-tls=1 + ports: + - "35532:8080" + - "30895:9735" + expose: + - "8080" + - "9735" + - "10009" + volumes: + - "customer_lnd_datadir:/root/.lnd" + - "bitcoin_datadir:/deps/.bitcoin" + depends_on: + - bitcoind + + tor: + restart: unless-stopped + image: btcpayserver/tor:0.4.6.5 + container_name: tor + environment: + TOR_PASSWORD: btcpayserver + ports: + - "9050:9050" # SOCKS + - "9051:9051" # Tor Control + volumes: + - "tor_datadir:/home/tor/.tor" + - "torrcdir:/usr/local/etc/tor" + - "tor_servicesdir:/var/lib/tor/hidden_services" + +volumes: + sshd_datadir: + bitcoin_datadir: + elementsd_liquid_datadir: + customer_lightningd_datadir: + merchant_lightningd_datadir: + lightning_charge_datadir: + customer_lnd_datadir: + merchant_lnd_datadir: + tor_datadir: + torrcdir: + tor_servicesdir: + +networks: + default: + driver: bridge + custom: + driver: bridge + ipam: + config: + - subnet: 172.23.0.0/16 diff --git a/BTCPayServer.Tests/docker-compose.testnet.yml b/BTCPayServer.Tests/docker-compose.testnet.yml new file mode 100644 index 000000000..8d5500f92 --- /dev/null +++ b/BTCPayServer.Tests/docker-compose.testnet.yml @@ -0,0 +1,328 @@ +version: "3" + +# Run `docker-compose up dev` for bootstrapping your development environment +# Doing so will expose NBXplorer, Bitcoind RPC and postgres port to the host so that tests can Run, +# The Visual Studio launch setting `Docker-testnet` is configured to use this environment. +services: + + tests: + build: + context: .. + dockerfile: BTCPayServer.Tests/Dockerfile + args: + CONFIGURATION_NAME: Release + environment: + TESTS_EXPERIMENTALV2_CONFIRM: "true" + TESTS_BTCRPCCONNECTION: server=http://bitcoind:43782;ceiwHEbqWI83:DwubwWsoo3 + TESTS_BTCNBXPLORERURL: http://nbxplorer:32838/ + TESTS_DB: "Postgres" + TESTS_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=btcpayserver_testnet + TESTS_EXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer_testnet + TESTS_HOSTNAME: tests + TESTS_RUN_EXTERNAL_INTEGRATION: ${TESTS_RUN_EXTERNAL_INTEGRATION:-"false"} + TESTS_AzureBlobStorageConnectionString: ${TESTS_AzureBlobStorageConnectionString:-none} + TEST_MERCHANTLIGHTNINGD: "type=clightning;server=unix://etc/merchant_lightningd_datadir/lightning-rpc" + TEST_CUSTOMERLIGHTNINGD: "type=clightning;server=unix://etc/customer_lightningd_datadir/lightning-rpc" + TEST_MERCHANTLND: "http://merchant_lnd:8080/" + TESTS_INCONTAINER: "true" + TESTS_SSHCONNECTION: "root@sshd:22" + TESTS_SSHPASSWORD: "" + TESTS_SSHKEYFILE: "" + TESTS_SOCKSENDPOINT: "tor:9050" + expose: + - "80" + depends_on: + - dev + - selenium + extra_hosts: + - "tests:127.0.0.1" + networks: + default: + custom: + ipv4_address: 172.23.0.18 + volumes: + - "sshd_datadir:/root/.ssh" + - "customer_lightningd_datadir:/etc/customer_lightningd_datadir" + - "merchant_lightningd_datadir:/etc/merchant_lightningd_datadir" + + # The dev container is not actually used, it is just handy to run `docker-compose up dev` to start all services + dev: + image: alpine:3.7 + command: [ "/bin/sh", "-c", "trap : TERM INT; while :; do echo Ready to code and debug like a rockstar!!!; sleep 2073600; done & wait" ] + depends_on: + - nbxplorer + - postgres + - customer_lightningd + - merchant_lightningd + - customer_lnd + - merchant_lnd + - sshd + - tor + + sshd: + build: + context: . + dockerfile: sshd.Dockerfile + ports: + - "21622:22" + expose: + - 22 + volumes: + - "sshd_datadir:/root/.ssh" + + devlnd: + image: btcpayserver/bitcoin:26.0 + environment: + BITCOIN_NETWORK: testnet + BITCOIN_WALLETDIR: "/data/wallets" + BITCOIN_EXTRA_ARGS: | + deprecatedrpc=signrawtransaction + connect=bitcoind:39388 + fallbackfee=0.0002 + rpcallowip=0.0.0.0/0 + depends_on: + - nbxplorer + - postgres + - customer_lnd + - merchant_lnd + + selenium: + image: selenium/standalone-chrome:125.0 + extra_hosts: + - "tests:172.23.0.18" + expose: + - "4444" + networks: + default: + custom: + + nbxplorer: + image: nicolasdorier/nbxplorer:2.5.4 + restart: unless-stopped + ports: + - "32838:32838" + expose: + - "32838" + environment: + NBXPLORER_NETWORK: testnet + NBXPLORER_CHAINS: "btc" + NBXPLORER_BTCRPCURL: http://bitcoind:43782/ + NBXPLORER_BTCNODEENDPOINT: bitcoind:39388 + NBXPLORER_BTCRPCUSER: ceiwHEbqWI83 + NBXPLORER_BTCRPCPASSWORD: DwubwWsoo3 + NBXPLORER_BIND: 0.0.0.0:32838 + NBXPLORER_MINGAPSIZE: 5 + NBXPLORER_MAXGAPSIZE: 10 + NBXPLORER_VERBOSE: 1 + NBXPLORER_POSTGRES: User ID=postgres;Include Error Detail=true;Host=postgres;Port=5432;Database=nbxplorer_testnet + NBXPLORER_EXPOSERPC: 1 + NBXPLORER_NOAUTH: 1 + depends_on: + - bitcoind + + bitcoind: + restart: unless-stopped + image: btcpayserver/bitcoin:26.0 + environment: + BITCOIN_NETWORK: testnet + BITCOIN_WALLETDIR: "/data/wallets" + BITCOIN_EXTRA_ARGS: |- + rpcuser=ceiwHEbqWI83 + rpcpassword=DwubwWsoo3 + rpcport=43782 + rpcbind=0.0.0.0:43782 + rpcallowip=0.0.0.0/0 + port=39388 + whitelist=0.0.0.0/0 + zmqpubrawblock=tcp://0.0.0.0:28332 + zmqpubrawtx=tcp://0.0.0.0:28333 + deprecatedrpc=signrawtransaction + fallbackfee=0.0002 + ports: + - "43782:43782" + - "39388:39388" + expose: + - "43782" # RPC + - "39388" # P2P + - "28332" # ZMQ + - "28333" # ZMQ + volumes: + - "bitcoin_datadir:/data" + + customer_lightningd: + image: btcpayserver/lightning:v24.05 + stop_signal: SIGKILL + restart: unless-stopped + environment: + EXPOSE_TCP: "true" + LIGHTNINGD_CHAIN: "btc" + LIGHTNINGD_NETWORK: "testnet" + LIGHTNINGD_OPT: | + developer + bitcoin-datadir=/etc/bitcoin + bitcoin-rpcconnect=bitcoind + announce-addr=customer_lightningd:9735 + log-level=debug + funding-confirms=1 + dev-fast-gossip + dev-bitcoind-poll=1 + ports: + - "30992:9835" # api port + - "30892:9735" # server port + expose: + - "9735" # server port + - "9835" # api port + volumes: + - "bitcoin_datadir:/etc/bitcoin" + - "customer_lightningd_datadir:/root/.lightning" + depends_on: + - bitcoind + + merchant_lightningd: + image: btcpayserver/lightning:v24.05 + stop_signal: SIGKILL + restart: unless-stopped + environment: + EXPOSE_TCP: "true" + LIGHTNINGD_CHAIN: "btc" + LIGHTNINGD_NETWORK: "testnet" + LIGHTNINGD_OPT: | + developer + bitcoin-datadir=/etc/bitcoin + bitcoin-rpcconnect=bitcoind + announce-addr=merchant_lightningd:9735 + funding-confirms=1 + log-level=debug + dev-fast-gossip + dev-bitcoind-poll=1 + ports: + - "30993:9835" # api port + - "30893:9735" # server port + expose: + - "9735" # server port + - "9835" # api port + volumes: + - "bitcoin_datadir:/etc/bitcoin" + - "merchant_lightningd_datadir:/root/.lightning" + depends_on: + - bitcoind + + postgres: + image: postgres:13.13 + environment: + POSTGRES_HOST_AUTH_METHOD: trust + ports: + - "39372:5432" + expose: + - "5432" + + merchant_lnd: + image: btcpayserver/lnd:v0.18.1-beta + restart: unless-stopped + environment: + LND_CHAIN: "btc" + LND_ENVIRONMENT: "testnet" + LND_EXPLORERURL: "http://nbxplorer:32838/" + LND_REST_LISTEN_HOST: http://merchant_lnd:8080 + LND_EXTRA_ARGS: | + restlisten=merchant_lnd:8080 + rpclisten=127.0.0.1:10008 + rpclisten=merchant_lnd:10009 + bitcoin.node=bitcoind + bitcoind.rpchost=bitcoind:43782 + bitcoind.rpcuser=ceiwHEbqWI83 + bitcoind.rpcpass=DwubwWsoo3 + bitcoind.zmqpubrawblock=tcp://bitcoind:28332 + bitcoind.zmqpubrawtx=tcp://bitcoind:28333 + externalip=merchant_lnd:9735 + bitcoin.defaultchanconfs=1 + no-macaroons=1 + debuglevel=debug + trickledelay=1000 + no-rest-tls=1 + ports: + - "35531:8080" + - "53280:10009" + - "30894:9735" + expose: + - "8080" + - "9735" + - "10009" + volumes: + - "merchant_lnd_datadir:/data" + - "bitcoin_datadir:/deps/.bitcoin" + depends_on: + - bitcoind + + customer_lnd: + image: btcpayserver/lnd:v0.18.1-beta + restart: unless-stopped + environment: + LND_CHAIN: "btc" + LND_ENVIRONMENT: "testnet" + LND_EXPLORERURL: "http://nbxplorer:32838/" + LND_REST_LISTEN_HOST: http://customer_lnd:8080 + LND_EXTRA_ARGS: | + restlisten=customer_lnd:8080 + rpclisten=127.0.0.1:10008 + rpclisten=customer_lnd:10009 + bitcoin.node=bitcoind + bitcoind.rpchost=bitcoind:43782 + bitcoind.rpcuser=ceiwHEbqWI83 + bitcoind.rpcpass=DwubwWsoo3 + bitcoind.zmqpubrawblock=tcp://bitcoind:28332 + bitcoind.zmqpubrawtx=tcp://bitcoind:28333 + externalip=customer_lnd:9735 + bitcoin.defaultchanconfs=1 + no-macaroons=1 + debuglevel=debug + trickledelay=1000 + no-rest-tls=1 + ports: + - "35532:8080" + - "30895:9735" + expose: + - "8080" + - "9735" + - "10009" + volumes: + - "customer_lnd_datadir:/root/.lnd" + - "bitcoin_datadir:/deps/.bitcoin" + depends_on: + - bitcoind + + tor: + restart: unless-stopped + image: btcpayserver/tor:0.4.6.5 + container_name: tor + environment: + TOR_PASSWORD: btcpayserver + ports: + - "9050:9050" # SOCKS + - "9051:9051" # Tor Control + volumes: + - "tor_datadir:/home/tor/.tor" + - "torrcdir:/usr/local/etc/tor" + - "tor_servicesdir:/var/lib/tor/hidden_services" + +volumes: + sshd_datadir: + bitcoin_datadir: + elementsd_liquid_datadir: + customer_lightningd_datadir: + merchant_lightningd_datadir: + lightning_charge_datadir: + customer_lnd_datadir: + merchant_lnd_datadir: + tor_datadir: + torrcdir: + tor_servicesdir: + +networks: + default: + driver: bridge + custom: + driver: bridge + ipam: + config: + - subnet: 172.23.0.0/16 diff --git a/BTCPayServer.Tests/docker-compose.yml b/BTCPayServer.Tests/docker-compose.yml index 9025379fb..ce5f94a74 100644 --- a/BTCPayServer.Tests/docker-compose.yml +++ b/BTCPayServer.Tests/docker-compose.yml @@ -166,6 +166,7 @@ services: dev-bitcoind-poll=1 ports: - "30992:9835" # api port + - "30892:9735" # server port expose: - "9735" # server port - "9835" # api port @@ -194,6 +195,7 @@ services: dev-bitcoind-poll=1 ports: - "30993:9835" # api port + - "30893:9735" # server port expose: - "9735" # server port - "9835" # api port @@ -239,6 +241,7 @@ services: ports: - "35531:8080" - "53280:10009" + - "30894:9735" expose: - "8080" - "9735" @@ -275,6 +278,7 @@ services: no-rest-tls=1 ports: - "35532:8080" + - "30895:9735" expose: - "8080" - "9735" diff --git a/BTCPayServer/Configuration/BTCPayServerOptions.cs b/BTCPayServer/Configuration/BTCPayServerOptions.cs index aab084d45..9e24bc35d 100644 --- a/BTCPayServer/Configuration/BTCPayServerOptions.cs +++ b/BTCPayServer/Configuration/BTCPayServerOptions.cs @@ -62,9 +62,6 @@ namespace BTCPayServer.Configuration Logs.Configuration.LogInformation("Network: " + NetworkType.ToString()); - if (conf.GetOrDefault("launchsettings", false) && NetworkType != ChainName.Regtest) - throw new ConfigException($"You need to run BTCPayServer with the run.sh or run.ps1 script"); - if (conf.GetOrDefault("POSTGRES", null) == null) { var allowDeprecated = conf.GetOrDefault("DEPRECATED", false); diff --git a/BTCPayServer/Properties/launchSettings.json b/BTCPayServer/Properties/launchSettings.json index 8f591de7e..f471ce64a 100644 --- a/BTCPayServer/Properties/launchSettings.json +++ b/BTCPayServer/Properties/launchSettings.json @@ -70,6 +70,82 @@ }, "applicationUrl": "https://localhost:14142/" }, + "Bitcoin-HTTPS-TESTNET": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "BTCPAY_EXPERIMENTALV2_CONFIRM": "true", + "BTCPAY_NETWORK": "testnet", + "BTCPAY_LAUNCHSETTINGS": "true", + "BTCPAY_PORT": "14142", + "BTCPAY_HttpsUseDefaultCertificate": "true", + "BTCPAY_VERBOSE": "true", + "BTCPAY_BTCLIGHTNING": "type=clightning;server=tcp://127.0.0.1:30993/", + "BTCPAY_BTCEXTERNALLNDREST": "type=lnd-rest;server=http://lnd:lnd@127.0.0.1:35531/;allowinsecure=true", + "BTCPAY_BTCEXTERNALLNDSEEDBACKUP": "../BTCPayServer.Tests/TestData/LndSeedBackup/walletunlock.json", + "BTCPAY_BTCEXTERNALSPARK": "server=/spark/btc/;cookiefile=fake", + "BTCPAY_BTCEXTERNALCHARGE": "server=https://127.0.0.1:53280/mycharge/btc/;cookiefilepath=fake", + "BTCPAY_BTCEXTERNALRTL": "server=/rtl/api/authenticate/cookie;cookiefile=fake", + "BTCPAY_BTCEXTERNALTHUNDERHUB": "server=/thub/sso;cookiefile=fake", + "BTCPAY_BTCEXTERNALTORQ": "server=/torq/cookie-login;cookiefile=fake", + "BTCPAY_EXTERNALSERVICES": "totoservice:totolink;Lightning Terminal:/lit/;", + "BTCPAY_EXTERNALCONFIGURATOR": "passwordfile=testpwd;server=/configurator", + "BTCPAY_BTCEXPLORERURL": "http://127.0.0.1:32838/", + "BTCPAY_ALLOW-ADMIN-REGISTRATION": "true", + "BTCPAY_DISABLE-REGISTRATION": "false", + "ASPNETCORE_ENVIRONMENT": "Development", + "BTCPAY_CHAINS": "btc", + "BTCPAY_POSTGRES": "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=btcpayserver_testnet", + "BTCPAY_SSHCONNECTION": "root@127.0.0.1:21622", + "BTCPAY_SSHPASSWORD": "opD3i2282D", + "BTCPAY_DEBUGLOG": "debug.log", + "BTCPAY_TORRCFILE": "../BTCPayServer.Tests/TestData/Tor/torrc", + "BTCPAY_SOCKSENDPOINT": "localhost:9050", + "BTCPAY_DOCKERDEPLOYMENT": "true", + "BTCPAY_RECOMMENDED-PLUGINS": "", + "BTCPAY_CHEATMODE": "true", + "BTCPAY_EXPLORERPOSTGRES": "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=nbxplorer_testnet" + }, + "applicationUrl": "https://localhost:14142/" + }, + "Bitcoin-HTTPS-MUTINYNET": { + "commandName": "Project", + "launchBrowser": true, + "environmentVariables": { + "BTCPAY_EXPERIMENTALV2_CONFIRM": "true", + "BTCPAY_NETWORK": "signet", + "BTCPAY_LAUNCHSETTINGS": "true", + "BTCPAY_PORT": "14142", + "BTCPAY_HttpsUseDefaultCertificate": "true", + "BTCPAY_VERBOSE": "true", + "BTCPAY_BTCLIGHTNING": "type=clightning;server=tcp://127.0.0.1:30993/", + "BTCPAY_BTCEXTERNALLNDREST": "type=lnd-rest;server=http://lnd:lnd@127.0.0.1:35531/;allowinsecure=true", + "BTCPAY_BTCEXTERNALLNDSEEDBACKUP": "../BTCPayServer.Tests/TestData/LndSeedBackup/walletunlock.json", + "BTCPAY_BTCEXTERNALSPARK": "server=/spark/btc/;cookiefile=fake", + "BTCPAY_BTCEXTERNALCHARGE": "server=https://127.0.0.1:53280/mycharge/btc/;cookiefilepath=fake", + "BTCPAY_BTCEXTERNALRTL": "server=/rtl/api/authenticate/cookie;cookiefile=fake", + "BTCPAY_BTCEXTERNALTHUNDERHUB": "server=/thub/sso;cookiefile=fake", + "BTCPAY_BTCEXTERNALTORQ": "server=/torq/cookie-login;cookiefile=fake", + "BTCPAY_EXTERNALSERVICES": "totoservice:totolink;Lightning Terminal:/lit/;", + "BTCPAY_EXTERNALCONFIGURATOR": "passwordfile=testpwd;server=/configurator", + "BTCPAY_BTCEXPLORERURL": "http://127.0.0.1:32838/", + "BTCPAY_ALLOW-ADMIN-REGISTRATION": "true", + "BTCPAY_DISABLE-REGISTRATION": "false", + "ASPNETCORE_ENVIRONMENT": "Development", + "BTCPAY_CHAINS": "btc", + "BTCPAY_POSTGRES": "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=btcpayserver_mutinynet", + "BTCPAY_SSHCONNECTION": "root@127.0.0.1:21622", + "BTCPAY_SSHPASSWORD": "opD3i2282D", + "BTCPAY_DEBUGLOG": "debug.log", + "BTCPAY_TORRCFILE": "../BTCPayServer.Tests/TestData/Tor/torrc", + "BTCPAY_SOCKSENDPOINT": "localhost:9050", + "BTCPAY_DOCKERDEPLOYMENT": "true", + "BTCPAY_RECOMMENDED-PLUGINS": "", + "BTCPAY_CHEATMODE": "true", + "BTCPAY_EXPLORERPOSTGRES": "User ID=postgres;Include Error Detail=true;Host=127.0.0.1;Port=39372;Database=nbxplorer_mutinynet" + }, + "applicationUrl": "https://localhost:14142/" + }, "Altcoins": { "commandName": "Project", "launchBrowser": true,