diff --git a/apps/bluewallet/data/redis/.gitkeep b/apps/bluewallet/data/redis/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/apps/bluewallet/docker-compose.yml b/apps/bluewallet/docker-compose.yml new file mode 100644 index 0000000..61dce6e --- /dev/null +++ b/apps/bluewallet/docker-compose.yml @@ -0,0 +1,36 @@ +version: "3.7" + +services: + redis: + image: "redis:6.2.2-buster@sha256:e10f55f92478715698a2cef97c2bbdc48df2a05081edd884938903aa60df6396" + user: "1000:1000" + command: "redis-server --requirepass moneyprintergobrrr" + restart: "on-failure" + stop_grace_period: "1m" + init: true + volumes: + - "${APP_DATA_DIR}/data/redis:/data" + networks: + default: + ipv4_address: "${APP_BLUEWALLET_REDIS_IP}" + + lndhub: + image: "bluewalletorganization/lndhub:v1.3.3@sha256:b99408dfb53f503def405668f5fc4d8185de39a87843d4ea8774544a5df1fe36" + user: "1000:1000" + depends_on: [ "redis" ] + restart: "on-failure" + stop_grace_period: "1m" + init: true + ports: + - "${APP_BLUEWALLET_LNDHUB_PORT}:${APP_BLUEWALLET_LNDHUB_PORT}" + volumes: + - "${LND_DATA_DIR}:/lnd:ro" + environment: + PORT: "${APP_BLUEWALLET_LNDHUB_PORT}" + TOR_URL: "${APP_HIDDEN_SERVICE}" + LND_CERT_FILE: "/lnd/tls.cert" + LND_ADMIN_MACAROON_FILE: "/lnd/data/chain/bitcoin/${BITCOIN_NETWORK}/admin.macaroon" + CONFIG: '{ "rateLimit": 10000, "postRateLimit": 10000, "redis": { "port": 6379, "host": "$APP_BLUEWALLET_REDIS_IP", "family": 4, "password": "moneyprintergobrrr", "db": 0 }, "lnd": { "url": "$LND_IP:$LND_GRPC_PORT", "password": ""}}' + networks: + default: + ipv4_address: "${APP_BLUEWALLET_LNDHUB_IP}" diff --git a/apps/registry.json b/apps/registry.json index 0adee00..77c1690 100644 --- a/apps/registry.json +++ b/apps/registry.json @@ -232,5 +232,28 @@ ], "path": "", "defaultPassword": "" + }, + { + "id": "bluewallet", + "category": "Wallet Servers", + "name": "BlueWallet Lightning", + "version": "1.3.3", + "tagline": "Connect BlueWallet to your Lightning node", + "description": "Run BlueWallet in the most private and secure way possible by removing 3rd parties and connecting it directly to your Umbrel's Lightning node.\n\nYou can pair multiple BlueWallet accounts, so your friends and family can pair their BlueWallet with your Umbrel for a trust-minimized setup.", + "developer": "BlueWallet", + "website": "https://lndhub.io", + "dependencies": [ + "lnd" + ], + "repo": "https://github.com/BlueWallet/LndHub", + "support": "https://t.me/bluewallet", + "port": 3008, + "gallery": [ + "1.jpg", + "2.jpg", + "3.jpg" + ], + "path": "", + "defaultPassword": "" } ] diff --git a/scripts/configure b/scripts/configure index 85e4bd2..4b60869 100755 --- a/scripts/configure +++ b/scripts/configure @@ -155,6 +155,9 @@ APP_SAMOURAI_SERVER_WHIRLPOOL_IP="10.21.21.23" APP_SAMOURAI_SERVER_WHIRLPOOL_PORT="8898" APP_SAMOURAI_SERVER_DB_IP="10.21.21.24" APP_SAMOURAI_SERVER_NODE_IP="10.21.21.25" +APP_BLUEWALLET_LNDHUB_IP="10.21.21.30" +APP_BLUEWALLET_LNDHUB_PORT="3008" +APP_BLUEWALLET_REDIS_IP="10.21.21.31" # Generate RPC credentials if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then @@ -315,6 +318,9 @@ for template in "${NGINX_CONF_FILE}" "${BITCOIN_CONF_FILE}" "${LND_CONF_FILE}" " sed -i "s//${APP_SAMOURAI_SERVER_WHIRLPOOL_PORT}/g" "${template}" sed -i "s//${APP_SAMOURAI_SERVER_DB_IP}/g" "${template}" sed -i "s//${APP_SAMOURAI_SERVER_NODE_IP}/g" "${template}" + sed -i "s//${APP_BLUEWALLET_LNDHUB_IP}/g" "${template}" + sed -i "s//${APP_BLUEWALLET_LNDHUB_PORT}/g" "${template}" + sed -i "s//${APP_BLUEWALLET_REDIS_IP}/g" "${template}" done diff --git a/templates/.env-sample b/templates/.env-sample index 559eb2d..6affecc 100644 --- a/templates/.env-sample +++ b/templates/.env-sample @@ -58,3 +58,6 @@ APP_SAMOURAI_SERVER_WHIRLPOOL_IP= APP_SAMOURAI_SERVER_WHIRLPOOL_PORT= APP_SAMOURAI_SERVER_DB_IP= APP_SAMOURAI_SERVER_NODE_IP= +APP_BLUEWALLET_LNDHUB_IP= +APP_BLUEWALLET_LNDHUB_PORT= +APP_BLUEWALLET_REDIS_IP= diff --git a/templates/torrc-sample b/templates/torrc-sample index 679437e..b7ffa1f 100644 --- a/templates/torrc-sample +++ b/templates/torrc-sample @@ -76,4 +76,8 @@ HiddenServicePort 80 :80 HiddenServiceDir /var/lib/tor/app-samourai-server-whirlpool HiddenServicePort 80 : +# LndHub Hidden Service +HiddenServiceDir /var/lib/tor/app-bluewallet +HiddenServicePort 80 : + HashedControlPassword