Browse Source

Update Lightning to LND 0.17.0 and umbrel-lightning 1.2.0 (#847)

Co-authored-by: Kroese <kroese@users.noreply.github.com>
Co-authored-by: nmfretz <nmfretz@gmail.com>
main
Luke Childs 1 year ago
committed by GitHub
parent
commit
ba4765aabf
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 5
      lightning/docker-compose.yml
  2. 35
      lightning/exports.sh
  3. 16
      lightning/umbrel-app.yml

5
lightning/docker-compose.yml

@ -7,7 +7,7 @@ services:
APP_PORT: 3006
app:
image: getumbrel/umbrel-lightning:v1.1.2@sha256:3ab819f6335abebb160d2c7b4bd979ad706e25208d219beb9f82d4c1dadd3eff
image: getumbrel/umbrel-lightning:v1.2.0@sha256:6252a4b7412f157ee61576af8f9e924d4f73e7e9dc2ba171cc9dc2767df7ffed
restart: on-failure
volumes:
- "${APP_LIGHTNING_NODE_DATA_DIR}:/data/.lnd"
@ -33,6 +33,7 @@ services:
JSON_SETTINGS_FILE: "/data/settings.json"
UMBREL_LND_CONF_FILEPATH: "/data/.lnd/umbrel-lnd.conf"
LND_CONF_FILEPATH: "/data/.lnd/lnd.conf"
LND_INITIALIZE_WITH_TOR_ONLY: "${LND_INITIALIZE_WITH_TOR_ONLY:-unset}"
DEVICE_DOMAIN_NAME: "${DEVICE_DOMAIN_NAME}"
EXPLORER_PORT: "${APP_MEMPOOL_PORT}"
EXPLORER_HIDDEN_SERVICE: "${APP_MEMPOOL_HIDDEN_SERVICE}"
@ -42,7 +43,7 @@ services:
lnd:
hostname: "${DEVICE_DOMAIN_NAME}" # Needed so LND can generate a valid cert
image: lightninglabs/lnd:v0.16.4-beta@sha256:a6e99f1a2a790ea6305a93f8075af64f9a2dade5cbf10bad893740264da03d0c
image: lightninglabs/lnd:v0.17.0-beta@sha256:2e49669792e6fbcb1d97c789b4690a2637645e43a90c05085d8bc33b0227f200
command: "${APP_LIGHTNING_COMMAND}"
user: 1000:1000
restart: unless-stopped

35
lightning/exports.sh

@ -51,3 +51,38 @@ rest_hidden_service_file="${EXPORTS_TOR_DATA_DIR}/app-${EXPORTS_APP_ID}-rest/hos
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")"
{
# Migrate hybrid mode settings for app updates differently to fresh installs
LIGHTNING_DATA_DIR="${EXPORTS_APP_DIR}/data/lightning"
LND_DATA_DIR="${EXPORTS_APP_DIR}/data/lnd"
IS_POST_HYBRID_MODE_INSTALL_FILE_PATH="${LIGHTNING_DATA_DIR}/IS_POST_HYBRID_MODE_INSTALL"
# If no lnd/data directory exists, we write out a file to indicate that this is a fresh install.
# This gets around the issue of the pre-start hook starting up the lnd container early for Tor HS creation
# and creating the lnd/data directory.
if [[ ! -d "${LND_DATA_DIR}/data" ]]; then
touch "${IS_POST_HYBRID_MODE_INSTALL_FILE_PATH}"
fi
APP_CONFIG_EXISTS="false"
APP_HYBRID_MODE_SETTING_EXISTS="false"
if [[ -f "${LIGHTNING_DATA_DIR}/settings.json" ]]; then
APP_CONFIG_EXISTS="true"
if jq -e '.lnd | has("tor.skip-proxy-for-clearnet-targets")' "${LIGHTNING_DATA_DIR}/settings.json" >/dev/null 2>&1; then
APP_HYBRID_MODE_SETTING_EXISTS="true"
fi
fi
# We only need to preserve tor-only configuration for existing pre-1.2.0 installs
if [[ ! -f "${IS_POST_HYBRID_MODE_INSTALL_FILE_PATH}" ]]; then
if [[ "${APP_CONFIG_EXISTS}" = "false" ]]; then
# If no settings.json exists at all this is an update to a pre-Advanced-Settings version of the app, so we preserve existing tor-only configuration
export LND_INITIALIZE_WITH_TOR_ONLY="true"
elif [[ "${APP_CONFIG_EXISTS}" = "true" ]] && [[ "${APP_HYBRID_MODE_SETTING_EXISTS}" = "false" ]]; then
# If settings.json exists, but there is no hybrid mode setting yet, then this is a pre-1.2.0 version of the app, so we still preserve existing tor-only configuration
export LND_INITIALIZE_WITH_TOR_ONLY="true"
fi
fi
} || true

16
lightning/umbrel-app.yml

@ -2,7 +2,7 @@ manifestVersion: 1.1
id: lightning
category: bitcoin
name: Lightning Node
version: "v0.16.4-beta"
version: "v0.17.0-beta"
tagline: Run your personal Lightning Network node
description: >-
Run your personal Lightning Network node, and join the future of Bitcoin today.
@ -22,10 +22,16 @@ description: >-
An official app from Umbrel.
releaseNotes: >-
This release is a minor release to fix a memory leak inadvertently introduced by optimizations to the mempool scanning logic.
Read the full release notes for additional information and detailed changes at https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.16.4.md
This update brings LND 0.17.0, the option to run your node in hybrid mode or Tor-only mode, along with the ability to open private channels, receive keysend payments, bugfixes, and more!
Hybrid mode allows your node to make connections to peers (other nodes) over both Tor and clearnet, enhancing both latency and connection stability. This is enabled by default for new users, while existing users can activate it in Advanced Settings.
You can now now choose to open private channels, which offer increased privacy but limited routing capabilities compared to public channels.
Discover what's new in LND 0.17.0: https://github.com/lightningnetwork/lnd/blob/master/docs/release-notes/release-notes-0.17.0.md
developer: Umbrel
website: https://umbrel.com
dependencies:

Loading…
Cancel
Save