diff --git a/apps/registry.json b/apps/registry.json index 8c4d8f4..370033c 100644 --- a/apps/registry.json +++ b/apps/registry.json @@ -918,5 +918,30 @@ "path": "", "deterministicPassword": false, "torOnly": false + }, + { + "id": "urbit-bitcoin-connector", + "category": "Wallet Servers", + "name": "Urbit Bitcoin Connector", + "version": "0.1.0", + "tagline": "Connect your Urbit's Bitcoin wallet to your Bitcoin node", + "description": "Urbit has a native Bitcoin wallet that you can connect to a full node via an intermediary, called a provider. Providers run a piece of backend software called %btc-provider that communicates with a full node with bitcoind and electrs, as well as a custome Node Express proxy to translate RPC calls between TCP and HTTP. This app will install the Express proxy and configure it to point at your Umbrel's Bitcoin full node. Using this, you can configure a Bitcoin provider on a ship (even one running on your Umbrel) and configure it, or other ships to point their wallets at it.\n\nThis app also provides an information GUI web page, with instructions on connecting your provider ship and Bitcoin wallet. The web UI is accessible at port 9090. Note that if your Urbit is running on your Umbrel, you must configure your provider to point at the Umbrel's local/private IP address (like http://192.168.0.10:55555).\n\nCredit to ~timluc-miptev & ~master-forwex", + "developer": "~sitful-hatred & ~mopfel-winrux", + "website": "https://subject.network", + "dependencies": [ + "bitcoind", + "electrum" + ], + "repo": "https://github.com/yapishu/urbit-bitcoin-node", + "support": "https://github.com/yapishu/urbit-bitcoin-node", + "port": 9090, + "gallery": [ + "1.jpg", + "2.jpg", + "3.jpg" + ], + "path": "", + "deterministicPassword": false, + "torOnly": false } ] diff --git a/apps/urbit-bitcoin-connector/docker-compose.yml b/apps/urbit-bitcoin-connector/docker-compose.yml new file mode 100644 index 0000000..d0a18df --- /dev/null +++ b/apps/urbit-bitcoin-connector/docker-compose.yml @@ -0,0 +1,23 @@ +version: "3.7" + +services: + web: + image: matwet/urbit-btc-node:latest@sha256:930a1752684277f743d2b48a59b4b977da96423d49ed4b5076c14cd81fa5e286 + init: true + restart: on-failure + stop_grace_period: 1m + ports: + - ${APP_URBIT_BITCOIN_CONNECTOR_PORT}:${APP_URBIT_BITCOIN_CONNECTOR_PORT} + - ${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT}:${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT} + environment: + INTERNAL_IP: $APP_URBIT_BITCOIN_CONNECTOR_IP + ELECTRUM_IP: $ELECTRUM_IP + ELECTRUM_PORT: $ELECTRUM_PORT + BITCOIN_IP: $BITCOIN_IP + BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT + BITCOIN_RPC_USER: $BITCOIN_RPC_USER + BITCOIN_RPC_PASS: $BITCOIN_RPC_PASS + BITCOIN_RPC_AUTH: $BITCOIN_RPC_AUTH + networks: + default: + ipv4_address: $APP_URBIT_BITCOIN_CONNECTOR_IP diff --git a/scripts/configure b/scripts/configure index 5857d58..b59ecd4 100755 --- a/scripts/configure +++ b/scripts/configure @@ -244,6 +244,9 @@ APP_USOCIAL_PORT="8448" APP_USOCIAL_FETCHER_IP="10.21.21.78" APP_TAILSCALE_IP="10.21.21.80" APP_TAILSCALE_PORT="2100" +APP_URBIT_BITCOIN_CONNECTOR_IP="10.21.21.81" +APP_URBIT_BITCOIN_CONNECTOR_PORT="9090" +APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT="55555" # Generate RPC credentials if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then @@ -488,6 +491,9 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" " sed -i "s//${APP_USOCIAL_FETCHER_IP}/g" "${template}" sed -i "s//${APP_TAILSCALE_IP}/g" "${template}" sed -i "s//${APP_TAILSCALE_PORT}/g" "${template}" + sed -i "s//${APP_URBIT_BITCOIN_CONNECTOR_IP}/g" "${template}" + sed -i "s//${APP_URBIT_BITCOIN_CONNECTOR_PORT}/g" "${template}" + sed -i "s//${APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT}/g" "${template}" done ########################################################## diff --git a/templates/.env-sample b/templates/.env-sample index 1b023f3..40e97fa 100644 --- a/templates/.env-sample +++ b/templates/.env-sample @@ -141,4 +141,7 @@ APP_USOCIAL_IP= APP_USOCIAL_PORT= APP_USOCIAL_FETCHER_IP= APP_TAILSCALE_IP= -APP_TAILSCALE_PORT= \ No newline at end of file +APP_TAILSCALE_PORT= +APP_URBIT_BITCOIN_CONNECTOR_IP= +APP_URBIT_BITCOIN_CONNECTOR_PORT= +APP_URBIT_BITCOIN_CONNECTOR_SERVER_PORT= \ No newline at end of file diff --git a/templates/torrc-server-sample b/templates/torrc-server-sample index dda14cb..5fb60cf 100644 --- a/templates/torrc-server-sample +++ b/templates/torrc-server-sample @@ -209,3 +209,7 @@ HiddenServicePort 80 :5000 # tailscale Hidden Service HiddenServiceDir /data/app-tailscale HiddenServicePort 80 : + +# urbit-bitcoin-connector Hidden Service +HiddenServiceDir /data/app-urbit-bitcoin-connector +HiddenServicePort 80 :