forked from michael.heier/umbrel-apps
Add Bitcoin, Lightning, Electrs, ElectrumX and Fulcrum apps
Co-authored-by: Steven Briscoe <me@stevenbriscoe.com>
This commit is contained in:
parent
4c59a06ae9
commit
576ecd2bef
38
README.md
38
README.md
|
@ -114,11 +114,11 @@ services:
|
|||
|
||||
# Uncomment to mount LND's data directory as read-only
|
||||
# inside the Docker container at path /lnd
|
||||
# - ${LND_DATA_DIR}:/lnd:ro
|
||||
# - ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
|
||||
# Uncomment to mount Bitcoin Core's data directory as
|
||||
# read-only inside the Docker container at path /bitcoin
|
||||
# - ${BITCOIN_DATA_DIR}:/bitcoin:ro
|
||||
# - ${APP_BITCOIN_DATA_DIR}:/bitcoin:ro
|
||||
environment:
|
||||
# Pass any environment variables to your app for configuration in the form:
|
||||
# VARIABLE_NAME: value
|
||||
|
@ -127,22 +127,22 @@ services:
|
|||
# your app to connect to Bitcoin Core, LND, Electrum and Tor:
|
||||
#
|
||||
# Bitcoin Core environment variables
|
||||
# $BITCOIN_NETWORK - Can be "mainnet", "testnet" or "regtest"
|
||||
# $BITCOIN_IP - Local IP of Bitcoin Core
|
||||
# $BITCOIN_P2P_PORT - P2P port
|
||||
# $BITCOIN_RPC_PORT - RPC port
|
||||
# $BITCOIN_RPC_USER - RPC username
|
||||
# $BITCOIN_RPC_PASS - RPC password
|
||||
# $BITCOIN_RPC_AUTH - RPC auth string
|
||||
# $APP_BITCOIN_NETWORK - Can be "mainnet", "testnet" or "regtest"
|
||||
# $APP_BITCOIN_NODE_IP - Local IP of Bitcoin Core
|
||||
# $APP_BITCOIN_P2P_PORT - P2P port
|
||||
# $APP_BITCOIN_RPC_PORT - RPC port
|
||||
# $APP_BITCOIN_RPC_USER - RPC username
|
||||
# $APP_BITCOIN_RPC_PASS - RPC password
|
||||
# $APP_BITCOIN_RPC_AUTH - RPC auth string
|
||||
#
|
||||
# LND environment variables
|
||||
# $LND_IP - Local IP of LND
|
||||
# $LND_GRPC_PORT - gRPC Port of LND
|
||||
# $LND_REST_PORT - REST Port of LND
|
||||
# $APP_LIGHTNING_NODE_IP - Local IP of LND
|
||||
# $APP_LIGHTNING_NODE_GRPC_PORT - gRPC Port of LND
|
||||
# $APP_LIGHTNING_NODE_REST_PORT - REST Port of LND
|
||||
#
|
||||
# Electrum server environment variables
|
||||
# $ELECTRUM_IP - Local IP of Electrum server
|
||||
# $ELECTRUM_PORT - Port of Electrum server
|
||||
# $APP_ELECTRS_NODE_IP - Local IP of Electrum server
|
||||
# $APP_ELECTRS_NODE_PORT - Port of Electrum server
|
||||
#
|
||||
# Tor proxy environment variables
|
||||
# $TOR_PROXY_IP - Local IP of Tor proxy
|
||||
|
@ -199,13 +199,13 @@ services:
|
|||
- 3002:3002
|
||||
environment:
|
||||
# Bitcoin Core connection details
|
||||
BTCEXP_BITCOIND_HOST: $BITCOIN_IP
|
||||
BTCEXP_BITCOIND_PORT: $BITCOIN_RPC_PORT
|
||||
BTCEXP_BITCOIND_USER: $BITCOIN_RPC_USER
|
||||
BTCEXP_BITCOIND_PASS: $BITCOIN_RPC_PASS
|
||||
BTCEXP_BITCOIND_HOST: $APP_BITCOIN_NODE_IP
|
||||
BTCEXP_BITCOIND_PORT: $APP_BITCOIN_RPC_PORT
|
||||
BTCEXP_BITCOIND_USER: $APP_BITCOIN_RPC_USER
|
||||
BTCEXP_BITCOIND_PASS: $APP_BITCOIN_RPC_PASS
|
||||
|
||||
# Electrum connection details
|
||||
BTCEXP_ELECTRUMX_SERVERS: "tcp://$ELECTRUM_IP:$ELECTRUM_PORT"
|
||||
BTCEXP_ELECTRUMX_SERVERS: "tcp://$APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT"
|
||||
|
||||
# App Config
|
||||
BTCEXP_HOST: 0.0.0.0
|
||||
|
|
|
@ -29,13 +29,13 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/files:/files
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
user: "1000:1000"
|
||||
environment:
|
||||
# LND environment variables
|
||||
LND_RPC_AUTHORITY: "$LND_IP:$LND_GRPC_PORT"
|
||||
LND_RPC_AUTHORITY: "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT"
|
||||
TLS_CERT_PATH: "/lnd/tls.cert"
|
||||
INVOICES_MACAROON_PATH: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/invoice.macaroon"
|
||||
INVOICES_MACAROON_PATH: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/invoice.macaroon"
|
||||
|
||||
# App specific environment variables
|
||||
FILES_DIR: "/files"
|
||||
|
|
0
bitcoin/data/.gitkeep
Normal file
0
bitcoin/data/.gitkeep
Normal file
36
bitcoin/docker-compose.yml
Normal file
36
bitcoin/docker-compose.yml
Normal file
|
@ -0,0 +1,36 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_BITCOIN_IP
|
||||
APP_PORT: 3005
|
||||
|
||||
server:
|
||||
image: cookiemonster123/umbrel-bitcoin:v0.2.0@sha256:74fcac4f811ca0451a6ff108087298f752759b0be9d6c7b116642497dd702a27
|
||||
depends_on: [bitcoind]
|
||||
restart: on-failure
|
||||
environment:
|
||||
PORT: "3005"
|
||||
BITCOIN_HOST: "${APP_BITCOIN_NODE_IP}"
|
||||
RPC_PORT: "${APP_BITCOIN_RPC_PORT}"
|
||||
RPC_USER: "${APP_BITCOIN_RPC_USER}"
|
||||
RPC_PASSWORD: "${APP_BITCOIN_RPC_PASS}"
|
||||
BITCOIN_RPC_HIDDEN_SERVICE: "${APP_BITCOIN_RPC_HIDDEN_SERVICE}"
|
||||
BITCOIN_P2P_HIDDEN_SERVICE: "${APP_BITCOIN_P2P_HIDDEN_SERVICE}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITCOIN_IP
|
||||
|
||||
bitcoind:
|
||||
image: lncm/bitcoind:v22.0@sha256:37a1adb29b3abc9f972f0d981f45e41e5fca2e22816a023faa9fdc0084aa4507
|
||||
command: "${APP_BITCOIN_COMMAND}"
|
||||
restart: on-failure
|
||||
stop_grace_period: 15m30s
|
||||
volumes:
|
||||
- "${APP_BITCOIN_DATA_DIR}:/data/.bitcoin"
|
||||
ports:
|
||||
- "${APP_BITCOIN_P2P_PORT}:${APP_BITCOIN_P2P_PORT}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BITCOIN_NODE_IP
|
85
bitcoin/exports.sh
Normal file
85
bitcoin/exports.sh
Normal file
|
@ -0,0 +1,85 @@
|
|||
export APP_BITCOIN_IP="10.21.22.2"
|
||||
export APP_BITCOIN_NODE_IP="10.21.21.8"
|
||||
|
||||
export APP_BITCOIN_DATA_DIR="${EXPORTS_APP_DIR}/data/bitcoin"
|
||||
export APP_BITCOIN_RPC_PORT="8332"
|
||||
export APP_BITCOIN_P2P_PORT="8333"
|
||||
export APP_BITCOIN_ZMQ_RAWBLOCK_PORT="28332"
|
||||
export APP_BITCOIN_ZMQ_RAWTX_PORT="28333"
|
||||
export APP_BITCOIN_ZMQ_HASHBLOCK_PORT="28334"
|
||||
export APP_BITCOIN_ZMQ_SEQUENCE_PORT="28335"
|
||||
|
||||
BITCOIN_CHAIN="main"
|
||||
BITCOIN_ENV_FILE="${EXPORTS_APP_DIR}/.env"
|
||||
|
||||
if [[ ! -f "${BITCOIN_ENV_FILE}" ]]; then
|
||||
if [[ -z "${BITCOIN_NETWORK}" ]]; then
|
||||
BITCOIN_NETWORK="mainnet"
|
||||
fi
|
||||
|
||||
if [[ -z ${BITCOIN_RPC_USER+x} ]] || [[ -z ${BITCOIN_RPC_PASS+x} ]] || [[ -z ${BITCOIN_RPC_AUTH+x} ]]; then
|
||||
BITCOIN_RPC_USER="umbrel"
|
||||
BITCOIN_RPC_DETAILS=$("${EXPORTS_APP_DIR}/scripts/rpcauth.py" "${BITCOIN_RPC_USER}")
|
||||
BITCOIN_RPC_PASS=$(echo "$BITCOIN_RPC_DETAILS" | tail -1)
|
||||
BITCOIN_RPC_AUTH=$(echo "$BITCOIN_RPC_DETAILS" | head -2 | tail -1 | sed -e "s/^rpcauth=//")
|
||||
fi
|
||||
|
||||
echo "export APP_BITCOIN_NETWORK='${BITCOIN_NETWORK}'" > "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_RPC_USER='${BITCOIN_RPC_USER}'" >> "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_RPC_PASS='${BITCOIN_RPC_PASS}'" >> "${BITCOIN_ENV_FILE}"
|
||||
echo "export APP_BITCOIN_RPC_AUTH='${BITCOIN_RPC_AUTH}'" >> "${BITCOIN_ENV_FILE}"
|
||||
fi
|
||||
|
||||
. "${BITCOIN_ENV_FILE}"
|
||||
|
||||
if [[ "${APP_BITCOIN_NETWORK}" == "mainnet" ]]; then
|
||||
BITCOIN_CHAIN="main"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "testnet" ]]; then
|
||||
BITCOIN_CHAIN="test"
|
||||
export APP_BITCOIN_RPC_PORT="18332"
|
||||
export APP_BITCOIN_P2P_PORT="18333"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "signet" ]]; then
|
||||
BITCOIN_CHAIN="signet"
|
||||
export APP_BITCOIN_RPC_PORT="38332"
|
||||
export APP_BITCOIN_P2P_PORT="38333"
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "regtest" ]]; then
|
||||
BITCOIN_CHAIN="regtest"
|
||||
export APP_BITCOIN_RPC_PORT="18443"
|
||||
export APP_BITCOIN_P2P_PORT="18444"
|
||||
else
|
||||
echo "Warning (${EXPORTS_APP_ID}): Bitcoin Network '${APP_BITCOIN_NETWORK}' is not supported"
|
||||
fi
|
||||
|
||||
BIN_ARGS=()
|
||||
BIN_ARGS+=( "-chain=${BITCOIN_CHAIN}" )
|
||||
BIN_ARGS+=( "-proxy=${TOR_PROXY_IP}:${TOR_PROXY_PORT}" )
|
||||
BIN_ARGS+=( "-listen" )
|
||||
BIN_ARGS+=( "-bind=${APP_BITCOIN_NODE_IP}" )
|
||||
BIN_ARGS+=( "-port=${APP_BITCOIN_P2P_PORT}" )
|
||||
BIN_ARGS+=( "-rpcport=${APP_BITCOIN_RPC_PORT}" )
|
||||
BIN_ARGS+=( "-rpcbind=${APP_BITCOIN_NODE_IP}" )
|
||||
BIN_ARGS+=( "-rpcbind=127.0.0.1" )
|
||||
BIN_ARGS+=( "-rpcallowip=${NETWORK_IP}/16" )
|
||||
BIN_ARGS+=( "-rpcallowip=127.0.0.1" )
|
||||
BIN_ARGS+=( "-rpcauth=\"${APP_BITCOIN_RPC_AUTH}\"" )
|
||||
BIN_ARGS+=( "-dbcache=200" )
|
||||
BIN_ARGS+=( "-maxmempool=300" )
|
||||
BIN_ARGS+=( "-zmqpubrawblock=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_RAWBLOCK_PORT}" )
|
||||
BIN_ARGS+=( "-zmqpubrawtx=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_RAWTX_PORT}" )
|
||||
BIN_ARGS+=( "-zmqpubhashblock=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_HASHBLOCK_PORT}" )
|
||||
BIN_ARGS+=( "-zmqpubsequence=tcp://0.0.0.0:${APP_BITCOIN_ZMQ_SEQUENCE_PORT}" )
|
||||
BIN_ARGS+=( "-txindex=1" )
|
||||
BIN_ARGS+=( "-blockfilterindex=1" )
|
||||
BIN_ARGS+=( "-peerbloomfilters=1" )
|
||||
BIN_ARGS+=( "-peerblockfilters=1" )
|
||||
BIN_ARGS+=( "-deprecatedrpc=addresses" )
|
||||
BIN_ARGS+=( "-rpcworkqueue=128" )
|
||||
|
||||
export APP_BITCOIN_COMMAND=$(IFS=" "; echo "${BIN_ARGS[@]}")
|
||||
|
||||
# echo "${APP_BITCOIN_COMMAND}"
|
||||
|
||||
rpc_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-rpc/hostname"
|
||||
p2p_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-p2p/hostname"
|
||||
export APP_BITCOIN_RPC_HIDDEN_SERVICE="$(cat "${rpc_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export APP_BITCOIN_P2P_HIDDEN_SERVICE="$(cat "${p2p_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
46
bitcoin/scripts/rpcauth.py
Executable file
46
bitcoin/scripts/rpcauth.py
Executable file
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env python3
|
||||
# Copyright (c) 2015-2018 The Bitcoin Core developers
|
||||
# Distributed under the MIT software license, see the accompanying
|
||||
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
|
||||
|
||||
from argparse import ArgumentParser
|
||||
from base64 import urlsafe_b64encode
|
||||
from binascii import hexlify
|
||||
from getpass import getpass
|
||||
from os import urandom
|
||||
|
||||
import hmac
|
||||
|
||||
def generate_salt(size):
|
||||
"""Create size byte hex salt"""
|
||||
return hexlify(urandom(size)).decode()
|
||||
|
||||
def generate_password():
|
||||
"""Create 32 byte b64 password"""
|
||||
return urlsafe_b64encode(urandom(32)).decode('utf-8')
|
||||
|
||||
def password_to_hmac(salt, password):
|
||||
m = hmac.new(bytearray(salt, 'utf-8'), bytearray(password, 'utf-8'), 'SHA256')
|
||||
return m.hexdigest()
|
||||
|
||||
def main():
|
||||
parser = ArgumentParser(description='Create login credentials for a JSON-RPC user')
|
||||
parser.add_argument('username', help='the username for authentication')
|
||||
parser.add_argument('password', help='leave empty to generate a random password or specify "-" to prompt for password', nargs='?')
|
||||
args = parser.parse_args()
|
||||
|
||||
if not args.password:
|
||||
args.password = generate_password()
|
||||
elif args.password == '-':
|
||||
args.password = getpass()
|
||||
|
||||
# Create 16 byte hex salt
|
||||
salt = generate_salt(16)
|
||||
password_hmac = password_to_hmac(salt, args.password)
|
||||
|
||||
print('String to be appended to bitcoin.conf:')
|
||||
print('rpcauth={0}:{1}${2}'.format(args.username, salt, password_hmac))
|
||||
print('Your password:\n{0}'.format(args.password))
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
11
bitcoin/torrc.template
Normal file
11
bitcoin/torrc.template
Normal file
|
@ -0,0 +1,11 @@
|
|||
# Bitcoin Core P2P Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-p2p
|
||||
HiddenServicePort $APP_BITCOIN_P2P_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_P2P_PORT
|
||||
|
||||
# Bitcoin Core RPC Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rpc
|
||||
HiddenServicePort $APP_BITCOIN_RPC_PORT $APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT
|
||||
|
||||
# Bitcoin Core Frontend Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID
|
||||
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT
|
20
bitcoin/umbrel-app.yml
Normal file
20
bitcoin/umbrel-app.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
manifestVersion: 1
|
||||
id: bitcoin
|
||||
category: Finance
|
||||
name: Bitcoin
|
||||
version: v22.0
|
||||
tagline: Bitcoins are amazing
|
||||
description: >
|
||||
Bitcoin is the knees of the bee
|
||||
developer: Umbrel
|
||||
website: https://bitcoin.org
|
||||
dependencies: []
|
||||
repo: https://github.com/getumbrel/bitcoin
|
||||
support: https://github.com/getumbrel/bitcoin/issues
|
||||
port: 10000
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
|
@ -27,13 +27,13 @@ services:
|
|||
stop_grace_period: 1m
|
||||
environment:
|
||||
PORT: "$APP_BITFEED_API_PORT"
|
||||
BITCOIN_HOST: "$BITCOIN_IP"
|
||||
BITCOIN_ZMQ_RAWTX_PORT: "$BITCOIN_ZMQ_RAWTX_PORT"
|
||||
BITCOIN_ZMQ_RAWBLOCK_PORT: "$BITCOIN_ZMQ_RAWBLOCK_PORT"
|
||||
BITCOIN_ZMQ_SEQUENCE_PORT: "$BITCOIN_ZMQ_SEQUENCE_PORT"
|
||||
BITCOIN_RPC_PORT: "$BITCOIN_RPC_PORT"
|
||||
BITCOIN_RPC_USER: "$BITCOIN_RPC_USER"
|
||||
BITCOIN_RPC_PASS: "$BITCOIN_RPC_PASS"
|
||||
BITCOIN_HOST: "$APP_BITCOIN_NODE_IP"
|
||||
BITCOIN_ZMQ_RAWTX_PORT: "$APP_BITCOIN_ZMQ_RAWTX_PORT"
|
||||
BITCOIN_ZMQ_RAWBLOCK_PORT: "$APP_BITCOIN_ZMQ_RAWBLOCK_PORT"
|
||||
BITCOIN_ZMQ_SEQUENCE_PORT: "$APP_BITCOIN_ZMQ_SEQUENCE_PORT"
|
||||
BITCOIN_RPC_PORT: "$APP_BITCOIN_RPC_PORT"
|
||||
BITCOIN_RPC_USER: "$APP_BITCOIN_RPC_USER"
|
||||
BITCOIN_RPC_PASS: "$APP_BITCOIN_RPC_PASS"
|
||||
RPC_POOLS: "1"
|
||||
RPC_POOL_SIZE: "16"
|
||||
LOG_LEVEL: "info"
|
||||
|
|
|
@ -30,7 +30,7 @@ services:
|
|||
- db
|
||||
volumes:
|
||||
- $APP_DATA_DIR/data/web:/usr/src/app/data
|
||||
- $LND_DATA_DIR:/lnd:ro
|
||||
- $APP_LIGHTNING_NODE_DATA_DIR:/lnd:ro
|
||||
environment:
|
||||
DEBUG: "bleskomat-server*,lnurl*"
|
||||
BLESKOMAT_SERVER_HOST: "0.0.0.0"
|
||||
|
@ -38,7 +38,7 @@ services:
|
|||
BLESKOMAT_SERVER_URL: "$APP_HIDDEN_SERVICE"
|
||||
BLESKOMAT_SERVER_ENDPOINT: "/u"
|
||||
BLESKOMAT_SERVER_AUTH_API_KEYS: '[]'
|
||||
BLESKOMAT_SERVER_LIGHTNING: '{"backend":"lnd","config":{"cert":"/lnd/tls.cert","protocol":"https","hostname":"$LND_IP:$LND_REST_PORT","macaroon":"/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"}}'
|
||||
BLESKOMAT_SERVER_LIGHTNING: '{"backend":"lnd","config":{"cert":"/lnd/tls.cert","protocol":"https","hostname":"$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT","macaroon":"/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"}}'
|
||||
BLESKOMAT_SERVER_STORE: '{"backend":"knex","config":{"client":"postgres","connection":{"host":"$APP_BLESKOMAT_SERVER_DB_IP","port":5432,"user":"bleskomat_server","password":"moneyprintergobrrr","database":"bleskomat_server"}}}'
|
||||
BLESKOMAT_SERVER_COINRATES_DEFAULTS_PROVIDER: "coinbase"
|
||||
BLESKOMAT_SERVER_ADMIN_WEB: "true"
|
||||
|
|
|
@ -27,13 +27,13 @@ services:
|
|||
stop_grace_period: "1m"
|
||||
init: true
|
||||
volumes:
|
||||
- "${LND_DATA_DIR}:/lnd:ro"
|
||||
- "${APP_LIGHTNING_NODE_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": ""}}'
|
||||
LND_ADMIN_MACAROON_FILE: "/lnd/data/chain/bitcoin/${APP_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": "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT", "password": ""}}'
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: "${APP_BLUEWALLET_LNDHUB_IP}"
|
||||
|
|
|
@ -14,13 +14,13 @@ services:
|
|||
# Docker requirements
|
||||
BTCEXP_HOST: 0.0.0.0
|
||||
# Bitcoin Core
|
||||
BTCEXP_BITCOIND_HOST: $BITCOIN_IP
|
||||
BTCEXP_BITCOIND_PORT: $BITCOIN_RPC_PORT
|
||||
BTCEXP_BITCOIND_USER: $BITCOIN_RPC_USER
|
||||
BTCEXP_BITCOIND_PASS: $BITCOIN_RPC_PASS
|
||||
BTCEXP_BITCOIND_HOST: $APP_BITCOIN_NODE_IP
|
||||
BTCEXP_BITCOIND_PORT: $APP_BITCOIN_RPC_PORT
|
||||
BTCEXP_BITCOIND_USER: $APP_BITCOIN_RPC_USER
|
||||
BTCEXP_BITCOIND_PASS: $APP_BITCOIN_RPC_PASS
|
||||
# Electrum
|
||||
BTCEXP_ADDRESS_API: electrumx
|
||||
BTCEXP_ELECTRUMX_SERVERS: "tcp://$ELECTRUM_IP:$ELECTRUM_PORT"
|
||||
BTCEXP_ELECTRUMX_SERVERS: "tcp://$APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT"
|
||||
# Log level
|
||||
DEBUG: "btcexp:*,electrumClient"
|
||||
# Performance
|
||||
|
|
|
@ -15,15 +15,15 @@ services:
|
|||
- ${APP_DATA_DIR}/data/nbxplorer:/data
|
||||
environment:
|
||||
NBXPLORER_DATADIR: "/data"
|
||||
NBXPLORER_NETWORK: "$BITCOIN_NETWORK"
|
||||
NBXPLORER_NETWORK: "$APP_BITCOIN_NETWORK"
|
||||
NBXPLORER_PORT: 32838
|
||||
NBXPLORER_BIND: 0.0.0.0
|
||||
NBXPLORER_CHAINS: "btc"
|
||||
NBXPLORER_SIGNALFILEDIR: "/data"
|
||||
NBXPLORER_BTCRPCURL: "http://$BITCOIN_IP:$BITCOIN_RPC_PORT"
|
||||
NBXPLORER_BTCNODEENDPOINT: $BITCOIN_IP:$BITCOIN_P2P_PORT
|
||||
NBXPLORER_BTCRPCUSER: $BITCOIN_RPC_USER
|
||||
NBXPLORER_BTCRPCPASSWORD: $BITCOIN_RPC_PASS
|
||||
NBXPLORER_BTCRPCURL: "http://$APP_BITCOIN_NODE_IP:$APP_BITCOIN_RPC_PORT"
|
||||
NBXPLORER_BTCNODEENDPOINT: $APP_BITCOIN_NODE_IP:$APP_BITCOIN_P2P_PORT
|
||||
NBXPLORER_BTCRPCUSER: $APP_BITCOIN_RPC_USER
|
||||
NBXPLORER_BTCRPCPASSWORD: $APP_BITCOIN_RPC_PASS
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_BTCPAY_SERVER_NBXPLORER_IP
|
||||
|
@ -38,18 +38,18 @@ services:
|
|||
volumes:
|
||||
- ${APP_DATA_DIR}/data/btcpay:/data
|
||||
- ${APP_DATA_DIR}/data/nbxplorer:/data/.nbxplorer
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
HOME: "/data"
|
||||
BTCPAY_DATADIR: "/data"
|
||||
BTCPAY_PLUGINDIR: "/data/plugins"
|
||||
BTCPAY_DOCKERDEPLOYMENT: "false"
|
||||
BTCPAY_POSTGRES: "User ID=postgres;Host=$APP_BTCPAY_SERVER_DB_IP;Port=5432;Database=btcpayserver$BITCOIN_NETWORK"
|
||||
BTCPAY_NETWORK: "$BITCOIN_NETWORK"
|
||||
BTCPAY_POSTGRES: "User ID=postgres;Host=$APP_BTCPAY_SERVER_DB_IP;Port=5432;Database=btcpayserver$APP_BITCOIN_NETWORK"
|
||||
BTCPAY_NETWORK: "$APP_BITCOIN_NETWORK"
|
||||
BTCPAY_BIND: 0.0.0.0:$APP_BTCPAY_SERVER_PORT
|
||||
BTCPAY_CHAINS: "btc"
|
||||
BTCPAY_BTCEXPLORERURL: "http://$APP_BTCPAY_SERVER_NBXPLORER_IP:32838"
|
||||
BTCPAY_BTCLIGHTNING: "type=lnd-rest;server=https://$LND_IP:$LND_REST_PORT/;macaroonfilepath=/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon;allowinsecure=true"
|
||||
BTCPAY_BTCLIGHTNING: "type=lnd-rest;server=https://$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT/;macaroonfilepath=/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon;allowinsecure=true"
|
||||
BTCPAY_SOCKSENDPOINT: $TOR_PROXY_IP:$TOR_PROXY_PORT
|
||||
networks:
|
||||
default:
|
||||
|
|
0
electrs/data/.gitkeep
Normal file
0
electrs/data/.gitkeep
Normal file
44
electrs/docker-compose.yml
Normal file
44
electrs/docker-compose.yml
Normal file
|
@ -0,0 +1,44 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_ELECTRS_IP
|
||||
APP_PORT: 3006
|
||||
|
||||
app:
|
||||
image: cookiemonster123/umbrel-electrs:v1.0.1@sha256:0a447406c64523b30429d8d70751e6bc19b3fdb830b778555d3904a6cce2f5b5
|
||||
depends_on:
|
||||
- electrs
|
||||
restart: on-failure
|
||||
environment:
|
||||
ELECTRUM_HIDDEN_SERVICE: "${APP_HIDDEN_SERVICE}"
|
||||
ELECTRUM_LOCAL_SERVICE: "${DEVICE_DOMAIN_NAME}"
|
||||
ELECTRS_HOST: "${APP_ELECTRS_NODE_IP}"
|
||||
BITCOIN_HOST: "${APP_BITCOIN_NODE_IP}"
|
||||
RPC_USER: "${APP_BITCOIN_RPC_USER}"
|
||||
RPC_PASSWORD: "${APP_BITCOIN_RPC_PASS}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELECTRS_IP
|
||||
|
||||
electrs:
|
||||
image: getumbrel/electrs:v0.9.4@sha256:b1590ac6cfb0e5b481c6a7af7f0626d76cbb91c63702b0f5c47e2829e9c37997
|
||||
restart: always
|
||||
environment:
|
||||
ELECTRS_LOG_FILTERS: "INFO"
|
||||
ELECTRS_NETWORK: "${APP_BITCOIN_NETWORK}"
|
||||
ELECTRS_DAEMON_RPC_ADDR: "${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_RPC_PORT}"
|
||||
ELECTRS_DAEMON_P2P_ADDR: "${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_P2P_PORT}"
|
||||
ELECTRS_ELECTRUM_RPC_ADDR: "0.0.0.0:${APP_ELECTRS_NODE_PORT}"
|
||||
ELECTRS_SERVER_BANNER: "Umbrel Electrs (${APP_VERSION})"
|
||||
ELECTRS_DB_DIR: "/data/db"
|
||||
ELECTRS_COOKIE_FILE: "/data/.bitcoin/${APP_BITCOIN_NETWORK}/.cookie"
|
||||
volumes:
|
||||
- "${APP_BITCOIN_DATA_DIR}:/data/.bitcoin:ro"
|
||||
- "${APP_DATA_DIR}/data/electrs:/data"
|
||||
ports:
|
||||
- "${APP_ELECTRS_NODE_PORT}:${APP_ELECTRS_NODE_PORT}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELECTRS_NODE_IP
|
4
electrs/exports.sh
Normal file
4
electrs/exports.sh
Normal file
|
@ -0,0 +1,4 @@
|
|||
export APP_ELECTRS_IP="10.21.22.4"
|
||||
export APP_ELECTRS_NODE_IP="10.21.21.10"
|
||||
|
||||
export APP_ELECTRS_NODE_PORT="50001"
|
7
electrs/torrc.template
Normal file
7
electrs/torrc.template
Normal file
|
@ -0,0 +1,7 @@
|
|||
# Electrs RPC Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rpc
|
||||
HiddenServicePort $APP_ELECTRS_NODE_PORT $APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT
|
||||
|
||||
# Electrs Frontend Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID
|
||||
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT
|
20
electrs/umbrel-app.yml
Normal file
20
electrs/umbrel-app.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
manifestVersion: 1
|
||||
id: electrs
|
||||
category: Finance
|
||||
name: Electrs
|
||||
version: v0.14.1-beta
|
||||
tagline: Electrs needs a tagline
|
||||
description: >
|
||||
Description goes here
|
||||
developer: Umbrel
|
||||
website: https://getumbrel.com/
|
||||
dependencies: []
|
||||
repo: https://github.com/getumbrel/electrs
|
||||
support: https://github.com/getumbrel/electrs/issues
|
||||
port: 10002
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
|
@ -4,19 +4,34 @@ services:
|
|||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_ELECTRUMX_IP
|
||||
APP_PORT: 50001
|
||||
APP_PORT: 3007
|
||||
|
||||
server:
|
||||
image: lukechilds/electrumx:v1.16.0@sha256:2949784536f8f85af229004e12e5b5c3a1d7428918a492f77b4e958035c2ae2a
|
||||
user: "1000:1000"
|
||||
init: true
|
||||
app:
|
||||
image: getumbrel/umbrel-electrumx
|
||||
depends_on:
|
||||
- electrumx
|
||||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
environment:
|
||||
ELECTRUM_HIDDEN_SERVICE: "${APP_HIDDEN_SERVICE}"
|
||||
ELECTRUM_LOCAL_SERVICE: "${DEVICE_DOMAIN_NAME}"
|
||||
ELECTRUM_HOST: "${APP_ELECTRUMX_NODE_IP}"
|
||||
BITCOIN_HOST: "${APP_BITCOIN_NODE_IP}"
|
||||
RPC_USER: "${APP_BITCOIN_RPC_USER}"
|
||||
RPC_PASSWORD: "${APP_BITCOIN_RPC_PASS}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELECTRUMX_IP
|
||||
|
||||
electrumx:
|
||||
image: lukechilds/electrumx:v1.16.0@sha256:2949784536f8f85af229004e12e5b5c3a1d7428918a492f77b4e958035c2ae2a
|
||||
init: true
|
||||
environment:
|
||||
DAEMON_URL: "http://${APP_BITCOIN_RPC_USER}:${APP_BITCOIN_RPC_PASS}@${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_RPC_PORT}"
|
||||
COIN: BitcoinSegwit
|
||||
NET: "${APP_BITCOIN_NETWORK}"
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
environment:
|
||||
DAEMON_URL: http://${BITCOIN_RPC_USER}:${BITCOIN_RPC_PASS}@${BITCOIN_IP}:${BITCOIN_RPC_PORT}
|
||||
COIN: BitcoinSegwit
|
||||
restart: always
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_ELECTRUMX_IP
|
||||
default:
|
||||
ipv4_address: $APP_ELECTRUMX_NODE_IP
|
2
electrumx/exports.sh
Normal file
2
electrumx/exports.sh
Normal file
|
@ -0,0 +1,2 @@
|
|||
export APP_ELECTRUMX_IP="10.21.22.5"
|
||||
export APP_ELECTRUMX_NODE_IP="10.21.21.59"
|
20
electrumx/umbrel-app.yml
Normal file
20
electrumx/umbrel-app.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
manifestVersion: 1
|
||||
id: electrumx
|
||||
category: Finance
|
||||
name: Electrumx
|
||||
version: v1.16.0
|
||||
tagline: Electrumx needs a tagline
|
||||
description: >
|
||||
Description goes here
|
||||
developer: Umbrel
|
||||
website: https://getumbrel.com/
|
||||
dependencies: []
|
||||
repo: https://github.com/getumbrel/electrumx
|
||||
support: https://github.com/getumbrel/electrumx/issues
|
||||
port: 10004
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
37
fulcrum/docker-compose.yml
Normal file
37
fulcrum/docker-compose.yml
Normal file
|
@ -0,0 +1,37 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_FULCRUM_IP
|
||||
APP_PORT: 3006
|
||||
|
||||
app:
|
||||
image: getumbrel/umbrel-fulcrum
|
||||
depends_on:
|
||||
- fulcrum
|
||||
restart: on-failure
|
||||
environment:
|
||||
FULCRUM_HIDDEN_SERVICE: "${APP_HIDDEN_SERVICE}"
|
||||
FULCRUM_LOCAL_SERVICE: "${DEVICE_DOMAIN_NAME}"
|
||||
FULCRUM_HOST: "${APP_FULCRUM_NODE_IP}"
|
||||
FULCRUM_STATS_PORT: 8080
|
||||
BITCOIN_HOST: "${APP_BITCOIN_NODE_IP}"
|
||||
RPC_USER: "${APP_BITCOIN_RPC_USER}"
|
||||
RPC_PASSWORD: "${APP_BITCOIN_RPC_PASS}"
|
||||
RPC_PORT: "${APP_BITCOIN_RPC_PORT}"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_FULCRUM_IP
|
||||
|
||||
fulcrum:
|
||||
image: cculianu/fulcrum
|
||||
init: true
|
||||
command: "${APP_FULCRUM_COMMAND}"
|
||||
volumes:
|
||||
- "${APP_BITCOIN_DATA_DIR}:/data/.bitcoin:ro"
|
||||
- "${APP_DATA_DIR}/data:/data"
|
||||
restart: always
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_FULCRUM_NODE_IP
|
14
fulcrum/exports.sh
Normal file
14
fulcrum/exports.sh
Normal file
|
@ -0,0 +1,14 @@
|
|||
export APP_FULCRUM_IP="10.21.22.6"
|
||||
export APP_FULCRUM_NODE_IP="10.21.22.7"
|
||||
|
||||
BIN_NAME="Fulcrum"
|
||||
BIN_ARGS=()
|
||||
BIN_ARGS+=( "--datadir /data/${APP_BITCOIN_NETWORK}" )
|
||||
BIN_ARGS+=( "--bitcoind ${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_RPC_PORT}" )
|
||||
BIN_ARGS+=( "--rpcuser ${APP_BITCOIN_RPC_USER}" )
|
||||
BIN_ARGS+=( "--rpcpassword ${APP_BITCOIN_RPC_PASS}" )
|
||||
BIN_ARGS+=( "--tcp 0.0.0.0:50001" )
|
||||
|
||||
export APP_FULCRUM_COMMAND="${BIN_NAME} $(IFS=" "; echo "${BIN_ARGS[@]}")"
|
||||
|
||||
# echo "${APP_FULCRUM_COMMAND}"
|
20
fulcrum/umbrel-app.yml
Normal file
20
fulcrum/umbrel-app.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
manifestVersion: 1
|
||||
id: fulcrum
|
||||
category: Finance
|
||||
name: Fulcrum
|
||||
version: 1.6.0
|
||||
tagline: Fulcrum is great, init
|
||||
description: >
|
||||
Hello World
|
||||
developer: Umbrel
|
||||
website: https://getumbrel.com/
|
||||
dependencies: []
|
||||
repo: https://github.com/getumbrel/fulcrum
|
||||
support: https://github.com/getumbrel/fulcrum/issues
|
||||
port: 10003
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
|
@ -14,9 +14,9 @@ services:
|
|||
user: "1000:1000"
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
LND_URL: "$LND_IP:$LND_GRPC_PORT"
|
||||
LND_URL: "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_HELIPAD_IP
|
||||
|
|
|
@ -13,12 +13,12 @@ services:
|
|||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
command:
|
||||
- --maker=$BITCOIN_NETWORK.itchysats.network:10000
|
||||
- --maker=$APP_BITCOIN_NETWORK.itchysats.network:10000
|
||||
- --maker-id=7e35e34801e766a6a29ecb9e22810ea4e3476c2b37bf75882edf94a68b1d9607
|
||||
- --password=$APP_PASSWORD
|
||||
- --umbrel-seed=$APP_SEED
|
||||
- $BITCOIN_NETWORK
|
||||
- --electrum=tcp://$ELECTRUM_IP:$ELECTRUM_PORT
|
||||
- $APP_BITCOIN_NETWORK
|
||||
- --electrum=tcp://$APP_ELECTRS_NODE_IP:$APP_ELECTRS_NODE_PORT
|
||||
|
||||
networks:
|
||||
default:
|
||||
|
|
|
@ -24,12 +24,12 @@ services:
|
|||
jm_onion_socks5_port: $TOR_PROXY_PORT
|
||||
jm_socks5_host: $TOR_PROXY_IP
|
||||
jm_socks5_port: $TOR_PROXY_PORT
|
||||
jm_rpc_host: $BITCOIN_IP
|
||||
jm_rpc_port: $BITCOIN_RPC_PORT
|
||||
jm_rpc_user: $BITCOIN_RPC_USER
|
||||
jm_rpc_password: "${BITCOIN_RPC_PASS}"
|
||||
jm_rpc_host: $APP_BITCOIN_NODE_IP
|
||||
jm_rpc_port: $APP_BITCOIN_RPC_PORT
|
||||
jm_rpc_user: $APP_BITCOIN_RPC_USER
|
||||
jm_rpc_password: "${APP_BITCOIN_RPC_PASS}"
|
||||
jm_rpc_wallet_file: jam_default
|
||||
jm_network: $BITCOIN_NETWORK
|
||||
jm_network: $APP_BITCOIN_NETWORK
|
||||
jm_max_cj_fee_abs: 300000 # in sats
|
||||
jm_max_cj_fee_rel: 0.0003 # 0.03%
|
||||
networks:
|
||||
|
|
|
@ -12,10 +12,10 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_DATA_DIR}/data/logs:/app/logs
|
||||
environment:
|
||||
LND_IP: $LND_IP
|
||||
LND_IP: $APP_LIGHTNING_NODE_IP
|
||||
LND_ZMQ_SUB_ADDRESS: "tcp://${APP_KOLLIDER_WS_IP}:5556"
|
||||
networks:
|
||||
default:
|
||||
|
|
|
@ -10,16 +10,16 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
environment:
|
||||
APP_PASSWORD: "${APP_PASSWORD}"
|
||||
BITCOIN_IP: "${BITCOIN_IP}"
|
||||
BITCOIN_RPC_PORT: "${BITCOIN_RPC_PORT}"
|
||||
BITCOIN_RPC_USER: "${BITCOIN_RPC_USER}"
|
||||
BITCOIN_RPC_PASS: "${BITCOIN_RPC_PASS}"
|
||||
LND_IP: "${LND_IP}"
|
||||
LND_GRPC_PORT: ${LND_GRPC_PORT}
|
||||
BITCOIN_IP: "${APP_BITCOIN_NODE_IP}"
|
||||
BITCOIN_RPC_PORT: "${APP_BITCOIN_RPC_PORT}"
|
||||
BITCOIN_RPC_USER: "${APP_BITCOIN_RPC_USER}"
|
||||
BITCOIN_RPC_PASS: "${APP_BITCOIN_RPC_PASS}"
|
||||
LND_IP: "${APP_LIGHTNING_NODE_IP}"
|
||||
LND_GPRC_PORT: ${APP_LIGHTNING_NODE_GRPC_PORT}
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_LIGHTNING_SHELL_IP
|
||||
|
|
|
@ -13,17 +13,17 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
HOME: "/data"
|
||||
APP_PASSWORD: "$APP_PASSWORD"
|
||||
command:
|
||||
- --uipassword_env=APP_PASSWORD
|
||||
- --insecure-httplisten=0.0.0.0:$APP_LIGHTNING_TERMINAL_PORT
|
||||
- --network="$BITCOIN_NETWORK"
|
||||
- --network="$APP_BITCOIN_NETWORK"
|
||||
- --lnd-mode="remote"
|
||||
- --remote.lnd.rpcserver=$LND_IP:$LND_GRPC_PORT
|
||||
- --remote.lnd.macaroonpath="/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
|
||||
- --remote.lnd.rpcserver=$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT
|
||||
- --remote.lnd.macaroonpath="/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"
|
||||
- --remote.lnd.tlscertpath="/lnd/tls.cert"
|
||||
networks:
|
||||
default:
|
||||
|
|
0
lightning/data/lightning/.gitkeep
Normal file
0
lightning/data/lightning/.gitkeep
Normal file
7
lightning/data/lnd/lnd.conf
Normal file
7
lightning/data/lnd/lnd.conf
Normal file
|
@ -0,0 +1,7 @@
|
|||
[Application Options]
|
||||
maxpendingchannels=3
|
||||
minchansize=10000
|
||||
accept-keysend=true
|
||||
|
||||
[Bitcoin]
|
||||
bitcoin.defaultchanconfs=2
|
52
lightning/docker-compose.yml
Normal file
52
lightning/docker-compose.yml
Normal file
|
@ -0,0 +1,52 @@
|
|||
version: "3.7"
|
||||
|
||||
services:
|
||||
app_proxy:
|
||||
environment:
|
||||
APP_HOST: $APP_LIGHTNING_IP
|
||||
APP_PORT: 3006
|
||||
|
||||
app:
|
||||
image: cookiemonster123/umbrel-lightning:v1.0.2@sha256:41d651ec0ba1fba9173bd06cbf2a1093dd2ba0485432aea177a9255ae3211934
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- "${APP_LIGHTNING_NODE_DATA_DIR}:/data/.lnd"
|
||||
- "${APP_DATA_DIR}/data/lightning:/data"
|
||||
- "${UMBREL_ROOT}/statuses:/statuses"
|
||||
environment:
|
||||
PORT: "3006"
|
||||
TOR_PROXY_IP: "${TOR_PROXY_IP}"
|
||||
TOR_PROXY_PORT: "${TOR_PROXY_PORT}"
|
||||
BITCOIN_HOST: "${APP_BITCOIN_NODE_IP}"
|
||||
RPC_PORT: "${APP_BITCOIN_RPC_PORT}"
|
||||
RPC_USER: "${APP_BITCOIN_RPC_USER}"
|
||||
RPC_PASSWORD: "${APP_BITCOIN_RPC_PASS}"
|
||||
LND_NETWORK: "${APP_BITCOIN_NETWORK}"
|
||||
LND_HOST: "${APP_LIGHTNING_NODE_IP}"
|
||||
LND_REST_HIDDEN_SERVICE_FILE: "${APP_LIGHTNING_REST_HIDDEN_SERVICE}"
|
||||
LND_GRPC_HIDDEN_SERVICE_FILE: "${APP_LIGHTNING_GRPC_HIDDEN_SERVICE}"
|
||||
TLS_FILE: "/data/.lnd/tls.cert"
|
||||
MACAROON_DIR: "/data/.lnd/data/chain/bitcoin/${APP_BITCOIN_NETWORK}/"
|
||||
CHANNEL_BACKUP_FILE: "/data/.lnd/data/chain/bitcoin/${APP_BITCOIN_NETWORK}/channel.backup"
|
||||
BACKUP_STATUS_FILE: "/statuses/backup-status.json"
|
||||
JSON_STORE_FILE: "/data/state.json"
|
||||
ports:
|
||||
- "$APP_LIGHTNING_NODE_PORT:$APP_LIGHTNING_NODE_PORT"
|
||||
- "$APP_LIGHTNING_NODE_REST_PORT:$APP_LIGHTNING_NODE_REST_PORT"
|
||||
- "$APP_LIGHTNING_NODE_GRPC_PORT:$APP_LIGHTNING_NODE_GRPC_PORT"
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_LIGHTNING_IP
|
||||
|
||||
lnd:
|
||||
image: lightninglabs/lnd:v0.14.1-beta@sha256:810f290f4da51adaf57d53bc1f1e65b52b03c543f322da0b98fb8c47be94a27a
|
||||
command: "${APP_LIGHTNING_COMMAND}"
|
||||
user: 1000:1000
|
||||
restart: on-failure
|
||||
volumes:
|
||||
- "${APP_LIGHTNING_NODE_DATA_DIR}:/data/.lnd"
|
||||
environment:
|
||||
HOME: /data
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_LIGHTNING_NODE_IP
|
58
lightning/exports.sh
Normal file
58
lightning/exports.sh
Normal file
|
@ -0,0 +1,58 @@
|
|||
export APP_LIGHTNING_IP="10.21.22.3"
|
||||
export APP_LIGHTNING_NODE_IP="10.21.21.9"
|
||||
|
||||
export APP_LIGHTNING_NODE_PORT="9735"
|
||||
export APP_LIGHTNING_NODE_GRPC_PORT="10009"
|
||||
export APP_LIGHTNING_NODE_REST_PORT="8080"
|
||||
export APP_LIGHTNING_NODE_DATA_DIR="${EXPORTS_APP_DIR}/data/lnd"
|
||||
|
||||
LND_BITCOIN_NODE="bitcoind"
|
||||
|
||||
BIN_ARGS=()
|
||||
# [Application Options]
|
||||
BIN_ARGS+=( "--listen=0.0.0.0:${APP_LIGHTNING_NODE_PORT}" )
|
||||
BIN_ARGS+=( "--rpclisten=0.0.0.0:${APP_LIGHTNING_NODE_GRPC_PORT}" )
|
||||
BIN_ARGS+=( "--restlisten=0.0.0.0:${APP_LIGHTNING_NODE_REST_PORT}" )
|
||||
BIN_ARGS+=( "--tlsextraip=${APP_LIGHTNING_NODE_IP}" )
|
||||
BIN_ARGS+=( "--tlsextradomain=${DEVICE_DOMAIN_NAME}" )
|
||||
BIN_ARGS+=( "--tlsautorefresh" )
|
||||
BIN_ARGS+=( "--tlsdisableautofill" )
|
||||
|
||||
# [Bitcoind]
|
||||
BIN_ARGS+=( "--bitcoind.rpchost=${APP_BITCOIN_NODE_IP}" )
|
||||
BIN_ARGS+=( "--bitcoind.rpcuser=${APP_BITCOIN_RPC_USER}" )
|
||||
BIN_ARGS+=( "--bitcoind.rpcpass=${APP_BITCOIN_RPC_PASS}" )
|
||||
BIN_ARGS+=( "--bitcoind.zmqpubrawblock=tcp://${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_ZMQ_RAWBLOCK_PORT}" )
|
||||
BIN_ARGS+=( "--bitcoind.zmqpubrawtx=tcp://${APP_BITCOIN_NODE_IP}:${APP_BITCOIN_ZMQ_RAWTX_PORT}" )
|
||||
|
||||
# [Bitcoin]
|
||||
BIN_ARGS+=( "--bitcoin.active" )
|
||||
if [[ "${APP_BITCOIN_NETWORK}" == "mainnet" ]]; then
|
||||
BIN_ARGS+=( "--bitcoin.mainnet" )
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "testnet" ]]; then
|
||||
BIN_ARGS+=( "--bitcoin.testnet" )
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "signet" ]]; then
|
||||
BIN_ARGS+=( "--bitcoin.signet" )
|
||||
elif [[ "${APP_BITCOIN_NETWORK}" == "regtest" ]]; then
|
||||
BIN_ARGS+=( "--bitcoin.regtest" )
|
||||
else
|
||||
echo "Warning (${EXPORTS_APP_ID}): Bitcoin Network '${APP_BITCOIN_NETWORK}' is not supported"
|
||||
fi
|
||||
BIN_ARGS+=( "--bitcoin.node=${LND_BITCOIN_NODE}" )
|
||||
|
||||
# [tor]
|
||||
BIN_ARGS+=( "--tor.active" )
|
||||
BIN_ARGS+=( "--tor.v3" )
|
||||
BIN_ARGS+=( "--tor.control=${TOR_PROXY_IP}:29051" )
|
||||
BIN_ARGS+=( "--tor.socks=${TOR_PROXY_IP}:${TOR_PROXY_PORT}" )
|
||||
BIN_ARGS+=( "--tor.targetipaddress=${APP_LIGHTNING_NODE_IP}" )
|
||||
BIN_ARGS+=( "--tor.password=${TOR_PASSWORD}" )
|
||||
|
||||
export APP_LIGHTNING_COMMAND=$(IFS=" "; echo "${BIN_ARGS[@]}")
|
||||
|
||||
# echo "${APP_LIGHTNING_COMMAND}"
|
||||
|
||||
rest_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-rest/hostname"
|
||||
grpc_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-grpc/hostname"
|
||||
export APP_LIGHTNING_REST_HIDDEN_SERVICE="$(cat "${rest_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export APP_LIGHTNING_GRPC_HIDDEN_SERVICE="$(cat "${grpc_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
11
lightning/torrc.template
Normal file
11
lightning/torrc.template
Normal file
|
@ -0,0 +1,11 @@
|
|||
# LND REST Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-rest
|
||||
HiddenServicePort $APP_LIGHTNING_NODE_REST_PORT $APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT
|
||||
|
||||
# LND gRPC Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID-grpc
|
||||
HiddenServicePort $APP_LIGHTNING_NODE_GRPC_PORT $APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT
|
||||
|
||||
# LND Frontend Hidden Service
|
||||
HiddenServiceDir /data/app-$APP_ID
|
||||
HiddenServicePort 80 $APP_PROXY_HOSTNAME:$APP_PROXY_PORT
|
20
lightning/umbrel-app.yml
Normal file
20
lightning/umbrel-app.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
manifestVersion: 1
|
||||
id: lightning
|
||||
category: Finance
|
||||
name: Lightning
|
||||
version: v0.14.1-beta
|
||||
tagline: LND is cool too
|
||||
description: >
|
||||
"there was lightning before the thunder"
|
||||
developer: Umbrel
|
||||
website: https://getumbrel.com/
|
||||
dependencies: []
|
||||
repo: https://github.com/getumbrel/lightning
|
||||
support: https://github.com/getumbrel/lightning/issues
|
||||
port: 10001
|
||||
gallery:
|
||||
- 1.jpg
|
||||
- 2.jpg
|
||||
- 3.jpg
|
||||
path: ""
|
||||
defaultPassword: ""
|
|
@ -13,7 +13,7 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
# Global
|
||||
LNBITS_HOST: "0.0.0.0"
|
||||
|
@ -22,9 +22,9 @@ services:
|
|||
|
||||
# LND
|
||||
LNBITS_BACKEND_WALLET_CLASS: LndRestWallet
|
||||
LND_REST_ENDPOINT: https://$LND_IP:$LND_REST_PORT/
|
||||
LND_REST_ENDPOINT: https://$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT/
|
||||
LND_REST_CERT: "/lnd/tls.cert"
|
||||
LND_REST_MACAROON: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
|
||||
LND_REST_MACAROON: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"
|
||||
|
||||
# App
|
||||
LNBITS_SITE_TITLE: "LNbits - Umbrel"
|
||||
|
|
|
@ -11,12 +11,12 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/root/.lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/root/.lnd:ro
|
||||
- ${APP_DATA_DIR}:/lndg/data
|
||||
command:
|
||||
- sh
|
||||
- -c
|
||||
- python initialize.py -net '${BITCOIN_NETWORK}' -server '${LND_IP}:${LND_GRPC_PORT}' -pw '${APP_PASSWORD}' -d && supervisord && python manage.py runserver 0.0.0.0:${APP_LNDG_PORT}
|
||||
- python initialize.py -net '${APP_BITCOIN_NETWORK}' -server '${APP_LIGHTNING_NODE_IP}:${APP_LIGHTNING_NODE_GRPC_PORT}' -pw '${APP_PASSWORD}' -d && supervisord && python manage.py runserver 0.0.0.0:${APP_LNDG_PORT}
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: ${APP_LNDG_IP}
|
||||
|
|
|
@ -12,11 +12,11 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
LND_IP: $LND_IP
|
||||
LND_GRPC_PORT: $LND_GRPC_PORT
|
||||
BITCOIN_NETWORK: $BITCOIN_NETWORK
|
||||
LND_IP: $APP_LIGHTNING_NODE_IP
|
||||
LND_GPRC_PORT: $APP_LIGHTNING_NODE_GRPC_PORT
|
||||
BITCOIN_NETWORK: $APP_BITCOIN_NETWORK
|
||||
APP_HIDDEN_SERVICE: $APP_HIDDEN_SERVICE
|
||||
APP_DOMAIN: $APP_DOMAIN
|
||||
APP_PASSWORD: $APP_PASSWORD
|
||||
|
|
|
@ -28,12 +28,12 @@ services:
|
|||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/backend/cache
|
||||
environment:
|
||||
CORE_RPC_HOST: $BITCOIN_IP
|
||||
CORE_RPC_PORT: $BITCOIN_RPC_PORT
|
||||
CORE_RPC_USERNAME: $BITCOIN_RPC_USER
|
||||
CORE_RPC_PASSWORD: $BITCOIN_RPC_PASS
|
||||
ELECTRUM_HOST: $ELECTRUM_IP
|
||||
ELECTRUM_PORT: $ELECTRUM_PORT
|
||||
CORE_RPC_HOST: $APP_BITCOIN_NODE_IP
|
||||
CORE_RPC_PORT: $APP_BITCOIN_RPC_PORT
|
||||
CORE_RPC_USERNAME: $APP_BITCOIN_RPC_USER
|
||||
CORE_RPC_PASSWORD: $APP_BITCOIN_RPC_PASS
|
||||
ELECTRUM_HOST: $APP_ELECTRS_NODE_IP
|
||||
ELECTRUM_PORT: $APP_ELECTRS_NODE_PORT
|
||||
ELECTRUM_TLS: "false"
|
||||
DATABASE_HOST: $APP_MEMPOOL_DB_IP
|
||||
DATABASE_PORT: "3306"
|
||||
|
|
|
@ -11,18 +11,18 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
PORT: $APP_NODE_RED_PORT
|
||||
BITCOIN_NETWORK: $BITCOIN_NETWORK
|
||||
BITCOIN_IP: $BITCOIN_IP
|
||||
BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT
|
||||
BITCOIN_RPC_USER: $BITCOIN_RPC_USER
|
||||
BITCOIN_RPC_PASS: $BITCOIN_RPC_PASS
|
||||
LND_IP: $LND_IP
|
||||
LND_GRPC_PORT: $LND_GRPC_PORT
|
||||
ELECTRUM_IP: $ELECTRUM_IP
|
||||
ELECTRUM_PORT: $ELECTRUM_PORT
|
||||
BITCOIN_NETWORK: $APP_BITCOIN_NETWORK
|
||||
BITCOIN_IP: $APP_BITCOIN_NODE_IP
|
||||
BITCOIN_RPC_PORT: $APP_BITCOIN_RPC_PORT
|
||||
BITCOIN_RPC_USER: $APP_BITCOIN_RPC_USER
|
||||
BITCOIN_RPC_PASS: $APP_BITCOIN_RPC_PASS
|
||||
LND_IP: $APP_LIGHTNING_NODE_IP
|
||||
LND_GPRC_PORT: $APP_LIGHTNING_NODE_GRPC_PORT
|
||||
ELECTRUM_IP: $APP_ELECTRS_NODE_IP
|
||||
ELECTRUM_PORT: $APP_ELECTRS_NODE_PORT
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_NODE_RED_IP
|
||||
|
|
|
@ -14,8 +14,8 @@ services:
|
|||
- ${APP_DATA_DIR}/rtl:/data
|
||||
- ${APP_DATA_DIR}/loop:/loop
|
||||
- ${APP_DATA_DIR}/boltz:/boltz:ro
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${BITCOIN_DATA_DIR}:/bitcoin:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_BITCOIN_DATA_DIR}:/bitcoin:ro
|
||||
entrypoint: /data/entrypoint.sh
|
||||
environment:
|
||||
# App config
|
||||
|
@ -26,13 +26,13 @@ services:
|
|||
LN_IMPLEMENTATION: "LND"
|
||||
|
||||
# LND connection details
|
||||
LN_SERVER_URL: "https://$LND_IP:$LND_REST_PORT"
|
||||
MACAROON_PATH: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK"
|
||||
LN_SERVER_URL: "https://$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_REST_PORT"
|
||||
MACAROON_PATH: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK"
|
||||
CONFIG_PATH: "/lnd/lnd.conf"
|
||||
|
||||
# Loop
|
||||
SWAP_SERVER_URL: "https://$APP_RIDE_THE_LIGHTNING_LOOP_IP:8081"
|
||||
SWAP_MACAROON_PATH: "/loop/.loop/$BITCOIN_NETWORK"
|
||||
SWAP_MACAROON_PATH: "/loop/.loop/$APP_BITCOIN_NETWORK"
|
||||
|
||||
# Boltz
|
||||
BOLTZ_SERVER_URL: "https://$APP_RIDE_THE_LIGHTNING_BOLTZ_IP:9003"
|
||||
|
@ -48,13 +48,13 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/loop:/data
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
HOME: "/data"
|
||||
command:
|
||||
- --network=$BITCOIN_NETWORK
|
||||
- --lnd.host="$LND_IP:$LND_GRPC_PORT"
|
||||
- --lnd.macaroonpath="/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
|
||||
- --network=$APP_BITCOIN_NETWORK
|
||||
- --lnd.host="$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT"
|
||||
- --lnd.macaroonpath="/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"
|
||||
- --lnd.tlspath="/lnd/tls.cert"
|
||||
- --restlisten=0.0.0.0:8081
|
||||
networks:
|
||||
|
@ -70,10 +70,10 @@ services:
|
|||
HOME: "/data"
|
||||
volumes:
|
||||
- "${APP_DATA_DIR}/boltz:/data"
|
||||
- "${LND_DATA_DIR}:/lnd:ro"
|
||||
- "${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro"
|
||||
command:
|
||||
- --lnd.host="$LND_IP"
|
||||
- --lnd.macaroon="/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
|
||||
- --lnd.host="$APP_LIGHTNING_NODE_IP"
|
||||
- --lnd.macaroon="/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"
|
||||
- --lnd.certificate="/lnd/tls.cert"
|
||||
- --rpc.rest.host="$APP_RIDE_THE_LIGHTNING_BOLTZ_IP"
|
||||
- --rpc.rest.port="9003"
|
||||
|
|
|
@ -30,7 +30,7 @@ services:
|
|||
user: "1000:1000"
|
||||
environment:
|
||||
# GLOBAL
|
||||
COMMON_BTC_NETWORK: $BITCOIN_NETWORK
|
||||
COMMON_BTC_NETWORK: $APP_BITCOIN_NETWORK
|
||||
DOJO_VERSION_TAG: 1.15.0
|
||||
NET_DOJO_TOR_IPV4: $TOR_PROXY_IP
|
||||
TOR_SOCKS_PORT: $TOR_PROXY_PORT
|
||||
|
@ -61,24 +61,24 @@ services:
|
|||
NODE_FEE_TYPE: ECONOMICAL
|
||||
|
||||
# SECURITY
|
||||
NODE_API_KEY: $SAMOURAI_SERVER_NODE_API_KEY
|
||||
NODE_ADMIN_KEY: $SAMOURAI_SERVER_NODE_ADMIN_KEY
|
||||
NODE_JWT_SECRET: $SAMOURAI_SERVER_NODE_JWT_SECRET
|
||||
NODE_API_KEY: $APP_SAMOURAI_SERVER_NODE_API_KEY
|
||||
NODE_ADMIN_KEY: $APP_SAMOURAI_SERVER_NODE_ADMIN_KEY
|
||||
NODE_JWT_SECRET: $APP_SAMOURAI_SERVER_NODE_JWT_SECRET
|
||||
|
||||
# BITCOIN
|
||||
BITCOIND_IP: $BITCOIN_IP
|
||||
BITCOIND_RPC_PORT: $BITCOIN_RPC_PORT
|
||||
BITCOIND_RPC_USER: $BITCOIN_RPC_USER
|
||||
BITCOIND_RPC_PASSWORD: $BITCOIN_RPC_PASS
|
||||
BITCOIND_ZMQ_RAWTXS: $BITCOIN_ZMQ_RAWTX_PORT
|
||||
BITCOIND_ZMQ_BLK_HASH: $BITCOIN_ZMQ_HASHBLOCK_PORT
|
||||
BITCOIND_IP: $APP_BITCOIN_NODE_IP
|
||||
BITCOIND_RPC_PORT: $APP_BITCOIN_RPC_PORT
|
||||
BITCOIND_RPC_USER: $APP_BITCOIN_RPC_USER
|
||||
BITCOIND_RPC_PASSWORD: $APP_BITCOIN_RPC_PASS
|
||||
BITCOIND_ZMQ_RAWTXS: $APP_BITCOIN_ZMQ_RAWTX_PORT
|
||||
BITCOIND_ZMQ_BLK_HASH: $APP_BITCOIN_ZMQ_HASHBLOCK_PORT
|
||||
|
||||
# EXPLORER
|
||||
EXPLORER_INSTALL: "off"
|
||||
|
||||
# INDEXER
|
||||
INDEXER_IP: $ELECTRUM_IP
|
||||
INDEXER_RPC_PORT: $ELECTRUM_PORT
|
||||
INDEXER_IP: $APP_ELECTRS_NODE_IP
|
||||
INDEXER_RPC_PORT: $APP_ELECTRS_NODE_PORT
|
||||
INDEXER_PROTOCOL: tcp
|
||||
INDEXER_BATCH_SUPPORT: inactive # 'active' for ElectrumX, 'inactive' otherwise
|
||||
depends_on:
|
||||
|
@ -94,7 +94,7 @@ services:
|
|||
user: "1000:1000"
|
||||
command:
|
||||
- "--listen"
|
||||
- "--cli.apiKey=$SAMOURAI_SERVER_WHIRLPOOL_API_KEY"
|
||||
- "--cli.apiKey=$APP_SAMOURAI_SERVER_WHIRLPOOL_API_KEY"
|
||||
- "--cli.api.http-enable=true"
|
||||
- "--cli.api.http-port=$APP_SAMOURAI_SERVER_WHIRLPOOL_PORT"
|
||||
- "--cli.tor=true"
|
||||
|
@ -106,7 +106,7 @@ services:
|
|||
- "--cli.mix.clientsPerPool=1"
|
||||
- "--resync"
|
||||
environment:
|
||||
WHIRLPOOL_BITCOIN_NETWORK: $BITCOIN_NETWORK
|
||||
WHIRLPOOL_BITCOIN_NETWORK: $APP_BITCOIN_NETWORK
|
||||
WHIRLPOOL_DOJO: "on"
|
||||
WHIRLPOOL_DOJO_IP: $APP_SAMOURAI_SERVER_IP
|
||||
volumes:
|
||||
|
@ -123,17 +123,17 @@ services:
|
|||
volumes:
|
||||
- ${APP_DATA_DIR}/nginx/wait-for:/wait-for
|
||||
- ${APP_DATA_DIR}/nginx/nginx.conf:/etc/nginx/nginx.conf
|
||||
- ${APP_DATA_DIR}/nginx/${BITCOIN_NETWORK}.conf:/etc/nginx/sites-enabled/dojo.conf
|
||||
- ${APP_DATA_DIR}/nginx/${APP_BITCOIN_NETWORK}.conf:/etc/nginx/sites-enabled/dojo.conf
|
||||
- ${APP_DATA_DIR}/nginx/connect.conf:/etc/nginx/sites-enabled/connect.conf
|
||||
- ${APP_DATA_DIR}/nginx/connect:/var/www/connect
|
||||
environment:
|
||||
COMMON_BTC_NETWORK: $BITCOIN_NETWORK
|
||||
COMMON_BTC_NETWORK: $APP_BITCOIN_NETWORK
|
||||
DOJO_LOCAL_PORT: $APP_SAMOURAI_SERVER_DOJO_PORT
|
||||
DOJO_HIDDEN_SERVICE: $SAMOURAI_SERVER_DOJO_HIDDEN_SERVICE
|
||||
WHIRLPOOL_HIDDEN_SERVICE: $SAMOURAI_SERVER_WHIRLPOOL_HIDDEN_SERVICE
|
||||
DOJO_HIDDEN_SERVICE: $APP_SAMOURAI_SERVER_DOJO_HIDDEN_SERVICE
|
||||
WHIRLPOOL_HIDDEN_SERVICE: $APP_SAMOURAI_SERVER_WHIRLPOOL_HIDDEN_SERVICE
|
||||
NODE_PREFIX_SUPPORT: support
|
||||
NODE_ADMIN_KEY: $SAMOURAI_SERVER_NODE_ADMIN_KEY
|
||||
WHIRLPOOL_API_KEY: $SAMOURAI_SERVER_WHIRLPOOL_API_KEY
|
||||
NODE_ADMIN_KEY: $APP_SAMOURAI_SERVER_NODE_ADMIN_KEY
|
||||
WHIRLPOOL_API_KEY: $APP_SAMOURAI_SERVER_WHIRLPOOL_API_KEY
|
||||
ports:
|
||||
- "$APP_SAMOURAI_SERVER_DOJO_PORT:80"
|
||||
depends_on:
|
||||
|
|
|
@ -8,9 +8,9 @@ export APP_SAMOURAI_SERVER_NODE_IP="10.21.21.25"
|
|||
|
||||
dojo_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-dojo/hostname"
|
||||
whirlpool_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-whirlpool/hostname"
|
||||
export SAMOURAI_SERVER_DOJO_HIDDEN_SERVICE="$(cat "${dojo_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export SAMOURAI_SERVER_WHIRLPOOL_HIDDEN_SERVICE="$(cat "${whirlpool_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export SAMOURAI_SERVER_NODE_API_KEY=$(derive_entropy "env-${app_entropy_identifier}-NODE_API_KEY")
|
||||
export SAMOURAI_SERVER_NODE_ADMIN_KEY=$(derive_entropy "env-${app_entropy_identifier}-NODE_ADMIN_KEY")
|
||||
export SAMOURAI_SERVER_NODE_JWT_SECRET=$(derive_entropy "env-${app_entropy_identifier}-NODE_JWT_SECRET")
|
||||
export SAMOURAI_SERVER_WHIRLPOOL_API_KEY=$(derive_entropy "env-${app_entropy_identifier}-WHIRLPOOL_API_KEY")
|
||||
export APP_SAMOURAI_SERVER_DOJO_HIDDEN_SERVICE="$(cat "${dojo_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export APP_SAMOURAI_SERVER_WHIRLPOOL_HIDDEN_SERVICE="$(cat "${whirlpool_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export APP_SAMOURAI_SERVER_NODE_API_KEY=$(derive_entropy "env-${app_entropy_identifier}-NODE_API_KEY")
|
||||
export APP_SAMOURAI_SERVER_NODE_ADMIN_KEY=$(derive_entropy "env-${app_entropy_identifier}-NODE_ADMIN_KEY")
|
||||
export APP_SAMOURAI_SERVER_NODE_JWT_SECRET=$(derive_entropy "env-${app_entropy_identifier}-NODE_JWT_SECRET")
|
||||
export APP_SAMOURAI_SERVER_WHIRLPOOL_API_KEY=$(derive_entropy "env-${app_entropy_identifier}-WHIRLPOOL_API_KEY")
|
|
@ -11,14 +11,14 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
DATA_DIR: "/data"
|
||||
# Lightning node connection details
|
||||
LND_DATA_DIR: $LND_DATA_DIR
|
||||
LND_HOST: $LND_IP
|
||||
LND_GRPC_PORT: $LND_GRPC_PORT
|
||||
MACAROON_FILE: /lnd/data/chain/bitcoin/${BITCOIN_NETWORK}/invoice.macaroon
|
||||
LND_DATA_DIR: $APP_LIGHTNING_NODE_DATA_DIR
|
||||
LND_HOST: $APP_LIGHTNING_NODE_IP
|
||||
LND_GPRC_PORT: $APP_LIGHTNING_NODE_GRPC_PORT
|
||||
MACAROON_FILE: /lnd/data/chain/bitcoin/${APP_BITCOIN_NETWORK}/invoice.macaroon
|
||||
TLS_FILE: /lnd/tls.cert
|
||||
APP_PASSWORD: $APP_PASSWORD
|
||||
networks:
|
||||
|
|
|
@ -14,16 +14,16 @@ services:
|
|||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
environment:
|
||||
# Global
|
||||
|
||||
|
||||
# LND
|
||||
LND_GRPC_ENDPOINT: $LND_IP
|
||||
LND_GRPC_PORT: $LND_GRPC_PORT
|
||||
LND_GRPC_ENDPOINT: $APP_LIGHTNING_NODE_IP
|
||||
LND_GPRC_PORT: $APP_LIGHTNING_NODE_GRPC_PORT
|
||||
LND_GRPC_CERT: "/lnd/tls.cert"
|
||||
LND_GRPC_MACAROON: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
|
||||
LND_GRPC_MACAROON: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"
|
||||
|
||||
# App
|
||||
APP_HIDDEN_SERVICE: http://$APP_HIDDEN_SERVICE
|
||||
|
|
|
@ -18,10 +18,10 @@ services:
|
|||
- --specter-data-folder=/data
|
||||
environment:
|
||||
# TODO: APP_PASSWORD
|
||||
BTC_RPC_USER: $BITCOIN_RPC_USER
|
||||
BTC_RPC_PASSWORD: $BITCOIN_RPC_PASS
|
||||
BTC_RPC_HOST: $BITCOIN_IP
|
||||
BTC_RPC_PORT: $BITCOIN_RPC_PORT
|
||||
BTC_RPC_USER: $APP_BITCOIN_RPC_USER
|
||||
BTC_RPC_PASSWORD: $APP_BITCOIN_RPC_PASS
|
||||
BTC_RPC_HOST: $APP_BITCOIN_NODE_IP
|
||||
BTC_RPC_PORT: $APP_BITCOIN_RPC_PORT
|
||||
BTC_RPC_PROTOCOL: http
|
||||
networks:
|
||||
default:
|
||||
|
|
|
@ -13,16 +13,16 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_DATA_DIR}/data:/relay/.lnd/
|
||||
environment:
|
||||
PUBLIC_URL: "$APP_HIDDEN_SERVICE:$APP_SPHINX_RELAY_PORT"
|
||||
LND_IP: $LND_IP
|
||||
LND_IP: $APP_LIGHTNING_NODE_IP
|
||||
CONNECT_UI: "true"
|
||||
LND_PORT: $LND_GRPC_PORT
|
||||
LND_PORT: $APP_LIGHTNING_NODE_GRPC_PORT
|
||||
TLS_LOCATION: /lnd/tls.cert
|
||||
MACAROON_LOCATION: /lnd/data/chain/bitcoin/${BITCOIN_NETWORK}/admin.macaroon
|
||||
LND_LOG_LOCATION: /lnd/logs/bitcoin/${BITCOIN_NETWORK}/lnd.log
|
||||
MACAROON_LOCATION: /lnd/data/chain/bitcoin/${APP_BITCOIN_NETWORK}/admin.macaroon
|
||||
LND_LOG_LOCATION: /lnd/logs/bitcoin/${APP_BITCOIN_NETWORK}/lnd.log
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_SPHINX_RELAY_IP
|
||||
|
|
|
@ -14,21 +14,21 @@ services:
|
|||
- "$APP_SQUEAKNODE_GRPC_PORT:$APP_SQUEAKNODE_GRPC_PORT"
|
||||
volumes:
|
||||
- ${APP_DATA_DIR}/sqk:/sqk
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
user: "1000:1000"
|
||||
environment:
|
||||
# Bitcoin Core connection details
|
||||
SQUEAKNODE_BITCOIN_RPC_HOST: $BITCOIN_IP
|
||||
SQUEAKNODE_BITCOIN_RPC_PORT: $BITCOIN_RPC_PORT
|
||||
SQUEAKNODE_BITCOIN_RPC_USER: $BITCOIN_RPC_USER
|
||||
SQUEAKNODE_BITCOIN_RPC_PASS: $BITCOIN_RPC_PASS
|
||||
SQUEAKNODE_BITCOIN_ZEROMQ_HASHBLOCK_PORT: $BITCOIN_ZMQ_HASHBLOCK_PORT
|
||||
SQUEAKNODE_BITCOIN_RPC_HOST: $APP_BITCOIN_NODE_IP
|
||||
SQUEAKNODE_BITCOIN_RPC_PORT: $APP_BITCOIN_RPC_PORT
|
||||
SQUEAKNODE_BITCOIN_RPC_USER: $APP_BITCOIN_RPC_USER
|
||||
SQUEAKNODE_BITCOIN_RPC_PASS: $APP_BITCOIN_RPC_PASS
|
||||
SQUEAKNODE_BITCOIN_ZEROMQ_HASHBLOCK_PORT: $APP_BITCOIN_ZMQ_HASHBLOCK_PORT
|
||||
|
||||
# LND environment variables
|
||||
SQUEAKNODE_LND_HOST: $LND_IP
|
||||
SQUEAKNODE_LND_RPC_PORT: $LND_GRPC_PORT
|
||||
SQUEAKNODE_LND_HOST: $APP_LIGHTNING_NODE_IP
|
||||
SQUEAKNODE_LND_RPC_PORT: $APP_LIGHTNING_NODE_GRPC_PORT
|
||||
SQUEAKNODE_LND_TLS_CERT_PATH: "/lnd/tls.cert"
|
||||
SQUEAKNODE_LND_MACAROON_PATH: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
|
||||
SQUEAKNODE_LND_MACAROON_PATH: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"
|
||||
|
||||
# Tor environment variables
|
||||
SQUEAKNODE_TOR_PROXY_IP: $TOR_PROXY_IP
|
||||
|
@ -39,11 +39,11 @@ services:
|
|||
SQUEAKNODE_WEBADMIN_USERNAME: "umbrel"
|
||||
SQUEAKNODE_WEBADMIN_PASSWORD: "${APP_PASSWORD}"
|
||||
|
||||
SQUEAKNODE_NODE_NETWORK: "$BITCOIN_NETWORK"
|
||||
SQUEAKNODE_NODE_NETWORK: "$APP_BITCOIN_NETWORK"
|
||||
SQUEAKNODE_NODE_SQK_DIR_PATH: "/sqk"
|
||||
SQUEAKNODE_NODE_MAX_SQUEAKS: 10000
|
||||
|
||||
SQUEAKNODE_SERVER_EXTERNAL_ADDRESS: $SQUEAKNODE_P2P_HIDDEN_SERVICE
|
||||
SQUEAKNODE_SERVER_EXTERNAL_ADDRESS: $APP_SQUEAKNODE_P2P_HIDDEN_SERVICE
|
||||
|
||||
DEBUG: "squeaknode:*"
|
||||
networks:
|
||||
|
|
|
@ -5,4 +5,4 @@ export APP_SQUEAKNODE_P2P_PORT="8555"
|
|||
export APP_SQUEAKNODE_P2P_TESTNET_PORT="18555"
|
||||
|
||||
squeaknode_p2p_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-p2p/hostname"
|
||||
export SQUEAKNODE_P2P_HIDDEN_SERVICE="$(cat "${squeaknode_p2p_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export APP_SQUEAKNODE_P2P_HIDDEN_SERVICE="$(cat "${squeaknode_p2p_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
|
@ -36,18 +36,18 @@ services:
|
|||
volumes:
|
||||
- ${APP_DATA_DIR}/data/wallet:/home/bitcoin-s/.bitcoin-s
|
||||
environment:
|
||||
BITCOIN_S_NETWORK: $BITCOIN_NETWORK
|
||||
BITCOIN_S_NETWORK: $APP_BITCOIN_NETWORK
|
||||
BITCOIN_S_KEYMANAGER_ENTROPY: $APP_SEED
|
||||
BITCOIN_S_PROXY_ENABLED: "false"
|
||||
BITCOIN_S_TOR_ENABLED: "false"
|
||||
BITCOIN_S_TOR_PROVIDED: "true"
|
||||
BITCOIN_S_DLCNODE_PROXY_ENABLED: "true"
|
||||
BITCOIN_S_DLCNODE_PROXY_SOCKS5: "${TOR_PROXY_IP}:${TOR_PROXY_PORT}"
|
||||
BITCOIN_S_DLCNODE_EXTERNAL_IP: $SUREDBITS_WALLET_P2P_HIDDEN_SERVICE
|
||||
BITCOIN_S_BITCOIND_HOST: $BITCOIN_IP
|
||||
BITCOIN_S_BITCOIND_PORT: $BITCOIN_RPC_PORT
|
||||
BITCOIN_S_BITCOIND_USER: $BITCOIN_RPC_USER
|
||||
BITCOIN_S_BITCOIND_PASSWORD: $BITCOIN_RPC_PASS
|
||||
BITCOIN_S_DLCNODE_EXTERNAL_IP: $APP_SUREDBITS_WALLET_P2P_HIDDEN_SERVICE
|
||||
BITCOIN_S_BITCOIND_HOST: $APP_BITCOIN_NODE_IP
|
||||
BITCOIN_S_BITCOIND_PORT: $APP_BITCOIN_RPC_PORT
|
||||
BITCOIN_S_BITCOIND_USER: $APP_BITCOIN_RPC_USER
|
||||
BITCOIN_S_BITCOIND_PASSWORD: $APP_BITCOIN_RPC_PASS
|
||||
BITCOIN_S_SERVER_RPC_PASSWORD: $APP_PASSWORD
|
||||
ports:
|
||||
- "$APP_SUREDBITS_WALLET_P2P_PORT:$APP_SUREDBITS_WALLET_P2P_PORT"
|
||||
|
|
|
@ -4,4 +4,4 @@ export APP_SUREDBITS_WALLET_SERVER_IP="10.21.21.74"
|
|||
export APP_SUREDBITS_WALLET_P2P_PORT="2862"
|
||||
|
||||
suredbits_wallet_p2p_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-p2p/hostname"
|
||||
export SUREDBITS_WALLET_P2P_HIDDEN_SERVICE="$(cat "${suredbits_wallet_p2p_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
||||
export APP_SUREDBITS_WALLET_P2P_HIDDEN_SERVICE="$(cat "${suredbits_wallet_p2p_hidden_service_file}" 2>/dev/null || echo "notyetset.onion")"
|
|
@ -12,11 +12,11 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
environment:
|
||||
LND_SOCKET: "$LND_IP:$LND_GRPC_PORT"
|
||||
LND_MACAROON_PATH: "/lnd/data/chain/bitcoin/$BITCOIN_NETWORK/admin.macaroon"
|
||||
LND_SOCKET: "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT"
|
||||
LND_MACAROON_PATH: "/lnd/data/chain/bitcoin/$APP_BITCOIN_NETWORK/admin.macaroon"
|
||||
LND_TLSCERT_PATH: "/lnd/tls.cert"
|
||||
CONFIG_FILE: "/data/tallycoin_api.key"
|
||||
TALLYCOIN_PASSWD_CLEARTEXT: "$APP_PASSWORD"
|
||||
|
|
|
@ -12,7 +12,7 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_DATA_DIR}/data:/data
|
||||
entrypoint: /data/entrypoint.sh
|
||||
environment:
|
||||
|
@ -20,7 +20,7 @@ services:
|
|||
NO_VERSION_CHECK: "true"
|
||||
LOG_LEVEL: "debug"
|
||||
ACCOUNT_CONFIG_PATH: "/data/thubConfig.yaml"
|
||||
YML_ENV_1: "$LND_IP:$LND_GRPC_PORT"
|
||||
YML_ENV_1: "$APP_LIGHTNING_NODE_IP:$APP_LIGHTNING_NODE_GRPC_PORT"
|
||||
TOR_PROXY_SERVER: "socks://$TOR_PROXY_IP:$TOR_PROXY_PORT"
|
||||
networks:
|
||||
default:
|
||||
|
|
|
@ -15,13 +15,13 @@ services:
|
|||
- ${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
|
||||
ELECTRUM_IP: $APP_ELECTRS_NODE_IP
|
||||
ELECTRUM_PORT: $APP_ELECTRS_NODE_PORT
|
||||
BITCOIN_IP: $APP_BITCOIN_NODE_IP
|
||||
BITCOIN_RPC_PORT: $APP_BITCOIN_RPC_PORT
|
||||
BITCOIN_RPC_USER: $APP_BITCOIN_RPC_USER
|
||||
BITCOIN_RPC_PASS: $APP_BITCOIN_RPC_PASS
|
||||
BITCOIN_RPC_AUTH: $APP_BITCOIN_RPC_AUTH
|
||||
networks:
|
||||
default:
|
||||
ipv4_address: $APP_URBIT_BITCOIN_CONNECTOR_IP
|
||||
|
|
|
@ -11,13 +11,13 @@ services:
|
|||
restart: on-failure
|
||||
stop_grace_period: 1m
|
||||
volumes:
|
||||
- ${LND_DATA_DIR}:/lnd:ro
|
||||
- ${APP_LIGHTNING_NODE_DATA_DIR}:/lnd:ro
|
||||
- ${APP_DATA_DIR}/data:/instance
|
||||
environment:
|
||||
USOCIAL_JOB: "WEB"
|
||||
APP_PASSWORD: "${APP_PASSWORD}"
|
||||
LND_IP: "${LND_IP}"
|
||||
LND_GRPC_PORT: ${LND_GRPC_PORT}
|
||||
LND_IP: "${APP_LIGHTNING_NODE_IP}"
|
||||
LND_GPRC_PORT: ${APP_LIGHTNING_NODE_GRPC_PORT}
|
||||
LND_DIR: "/lnd"
|
||||
networks:
|
||||
default:
|
||||
|
|
Loading…
Reference in New Issue
Block a user