From 0d3cd5e046fefd0863b946b2ba1b537efc4c3bd4 Mon Sep 17 00:00:00 2001 From: ShahanaFarooqui Date: Wed, 9 Jul 2025 16:46:03 -0700 Subject: [PATCH 1/6] Environment Variables Overhaul Documentation --- README.md | 69 ++++++++++++++++++++------------ docker-compose.yml | 98 ++++++++++++++++++++++++++-------------------- entrypoint.sh | 14 +++---- env.sh | 40 ++++++++----------- 4 files changed, 122 insertions(+), 99 deletions(-) diff --git a/README.md b/README.md index 2f665cb5..aeb848b8 100644 --- a/README.md +++ b/README.md @@ -52,36 +52,53 @@ This application accepts & depends upon these variables to be passed through environment: ``` - - SINGLE_SIGN_ON: Flag to bypass application level authentication (valid values: true/false, default: false) - - LOCAL_HOST: Device url for connect url links (optional; for connect wallet screen) - - DEVICE_DOMAIN_NAME: Device name/IP for lnmessage connect url feature (optional; for connect wallet screen) - - BITCOIN_NODE_IP: IP address of bitcoin node container (required) - - BITCOIN_NETWORK: Bitcoin network type (optional; for entrypoint.sh; valid values: bitcoin/signet/testnet/regtest) - - APP_CONFIG_DIR: Path for cln-application's configuration file (required; config.json) - - APP_MODE: Mode for logging and other settings (valid values: production/development/testing, default: production) - - APP_CONNECT: Choose how to connect to CLN (valid values: COMMANDO/REST/GRPC, default: COMMANDO) - - APP_PROTOCOL: Protocol on which the application will be served (valid values: http/https, default: http) - - APP_IP: IP address of this application (cln-application) container (required) - - APP_PORT: Port on which this application should be served (required) - - LIGHTNING_IP: IP address of Core lightning node container (required) - - LIGHTNING_PATH: Path for core lightning (optional; required for entrypoint.sh) - - HIDDEN_SERVICE_URL: REST hidden service url (optional; for connect wallet screen; Used for Tor Domain also) - - COMMANDO_CONFIG: Full Path including file name for commando auth with PUBKEY & RUNE (required) - - LIGHTNING_WEBSOCKET_PROTOCOL: Core lightning's web socket or web socket proxy (valid values: ws/wss, default: ws) - - LIGHTNING_WEBSOCKET_PORT: Core lightning's websocket port (required with default APP_CONNECT; from cln's config.json; starting with `bind-addr=ws:`/`wss-bind-addr`) - - LIGHTNING_REST_PROTOCOL: Protocol on which REST is served (valid values: http/https, default: https) - - LIGHTNING_REST_PORT: REST server port (required if APP_CONNECT is REST) - - LIGHTNING_CERTS_DIR: Path for core lightning certificates (Required the PROTOCOL is 'https/wss') - - LIGHTNING_GRPC_PROTOCOL: Core lightning's GRPC protocol (valid values: http/https, default: http) - - LIGHTNING_GRPC_PORT: Core lightning's GRPC port (Required if APP_CONNECT is GRPC) + - BITCOIN_HOST: Hostname/IP address of bitcoin node container (configurable to run lightningd with `--bitcoin-rpcconnect`, default: `localhost`) + - BITCOIN_NETWORK: Bitcoin network type (for entrypoint.sh and lightningd with `--network`; valid values: bitcoin/signet/testnet/regtest; default: `bitcoin`) + + - APP_SINGLE_SIGN_ON: Flag to bypass application level authentication (valid values: true/false, default: false) + - APP_PROTOCOL: Protocol on which the application will be served (valid values: http/https, default: `http`) + - APP_HOST: Hostname/IP address of cln-application's container (default: `localhost`) + - APP_PORT: Port on which this application should be served (default: `2103`) + + - APP_CONFIG_FILE: Path for cln-application's configuration file (default: `./config.json`) + - APP_LOG_FILE: Path for cln-application's log file (default: `./application-cln.log`) + - APP_MODE: Mode for logging and other settings (valid values: production/development/testing, default: `production`) + - APP_CONNECT: Choose how to connect to CLN (valid values: COMMANDO/REST/GRPC, default: `COMMANDO`) + + - LIGHTNING_DATA_DIR: Path for core lightning (used by entrypoint.sh, default: ``) + - LIGHTNING_HOST: IP address of Core lightning node container (used for `COMMANDO` APP_CONNECT, default: `localhost`) + - LIGHTNING_TOR_HOST: REST hidden service url (default: ``) + + - LIGHTNING_VARS_FILE: Full Path including the file name for connection auth with LIGHTNING_PUBKEY & LIGHTNING_RUNE (defult: `./.commando-env`) + - LIGHTNING_WS_PROTOCOL: Core lightning's web socket is serving on ws or serving via WSSProxy (valid values: ws/wss, default: `ws`) + - LIGHTNING_WS_PORT: Core lightning's websocket port (used by `COMMANDO` APP_CONNECT; with `bind-addr=ws:`/`wss-bind-addr` in CLN config; default: `5001`) + - LIGHTNING_WS_CLIENT_KEY_FILE: Client key file path including file name for websocket TLS authentication (used by `COMMANDO` APP_CONNECT and `wss` LIGHTNING_WS_PROTOCOL; default: `./client-key.pem`) + - LIGHTNING_WS_CLIENT_CERT_FILE: Client certificate file path including file name for websocket TLS authentication (used by `COMMANDO` APP_CONNECT and `wss` LIGHTNING_WS_PROTOCOL; default: `./client.pem`) + - LIGHTNING_WS_CA_CERT_FILE: CA certificate file path including file name for websocket TLS authentication (default: `./ca.pem`) + + - LIGHTNING_REST_PROTOCOL: Protocol on which REST is served (valid values: http/https, default: `https`) + - LIGHTNING_REST_HOST: IP address/hostname of Core Lightning REST interface (used if APP_CONNECT is `REST`, default: `localhost`) + - LIGHTNING_REST_TOR_HOST: Tor hidden service URL for Core Lightning REST interface (default: ``) + - LIGHTNING_REST_PORT: REST server port (used if APP_CONNECT is `REST`; default: `3010`) + - LIGHTNING_REST_CLIENT_KEY_FILE: Client key file path including file name for REST TLS authentication (default: `./client-key.pem`) + - LIGHTNING_REST_CLIENT_CERT_FILE: Client certificate file path including file name for REST TLS authentication (default: `./client.pem`) + - LIGHTNING_REST_CA_CERT_FILE: CA certificate file path including file name for REST TLS authentication (used by `REST` APP_CONNECT and `https` LIGHTNING_REST_PROTOCOL; default: `./ca.pem`) + + - LIGHTNING_GRPC_HOST: IP address/hostname of Core Lightning GRPC interface (used if APP_CONNECT is `GRPC`, default: `localhost`) + - LIGHTNING_GRPC_TOR_HOST: Tor hidden service URL for Core Lightning GRPC interface (default: ``) + - LIGHTNING_GRPC_PORT: Core lightning's GRPC port (used if APP_CONNECT is `GRPC`; default: `9736`) + - LIGHTNING_GRPC_PROTO_PATH: URL to directory containing CLN gRPC protocol definitions (default: `https://github.com/ElementsProject/lightning/tree/master/cln-grpc/proto`) + - LIGHTNING_GRPC_CLIENT_KEY_FILE: Client key file path including file name for GRPC TLS authentication (used by `GRPC` APP_CONNECT; default: `./client-key.pem`) + - LIGHTNING_GRPC_CLIENT_CERT_FILE: Client certificate file path including file name for GRPC TLS authentication (used by `GRPC` APP_CONNECT; default: `./client.pem`) + - LIGHTNING_GRPC_CA_CERT_FILE: CA certificate file path including file name for GRPC TLS authentication (used by `GRPC` APP_CONNECT; default: `./ca.pem`) ``` Set these variables either via terminal OR by env.sh script OR by explicitly loading variables from .env files. - Important Note: Environment variables take precedence over config.json variables. Like `SINGLE_SIGN_ON` will take higher precedence over + Important Note: Environment variables take precedence over config.json variables. Like `APP_SINGLE_SIGN_ON` will take higher precedence over `singleSignOn` from config.json. - ### Application Configuration - This is the config.json file which is required by application's frontend. If the file named `config.json` is missing at `APP_CONFIG_DIR` location, one like below will be auto created: + This is the default `config.json` file which is required by application's frontend. If the file `APP_CONFIG_FILE` is missing at the location, one like below will be auto created: ``` { @@ -97,8 +114,8 @@ - ### Commando Authentication - This application utilizes [lnmessage](https://github.com/aaronbarnardsound/lnmessage) and [commando](https://docs.corelightning.org/reference/lightning-commando) for connecting with core lightning node. The connection is trustless and end-to-end encrypted. Commando manages authentication and authorization through runes, which can grant either full or fine-grained permissions. - - The backend server reads `LIGHTNING_PUBKEY` & `LIGHTNING_RUNE` from the `COMMANDO_CONFIG` file for this communication. - - Values can either be set manually or script `entrypoint.sh` can be used to call `getinfo` and `createrune` methods and save values in `COMMANDO_CONFIG`. + - The backend server reads `LIGHTNING_PUBKEY` & `LIGHTNING_RUNE` from the `LIGHTNING_VARS_FILE` file for this communication. + - Values can either be set manually or script `entrypoint.sh` can be used to call `getinfo` and `createrune` methods and save values in `LIGHTNING_VARS_FILE`. - `entrypoint.sh` can only run for the locally installed lightning. If `cln-application` is running remotely then pubkey and rune can be set manually. - Sample commando config should look like: diff --git a/docker-compose.yml b/docker-compose.yml index 3a8efca4..0f0abe69 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -14,25 +14,25 @@ services: - ${PWD}/data/bitcoin:/root/.bitcoin networks: networkcln: - ipv4_address: ${BITCOIN_NODE_IP} + ipv4_address: ${BITCOIN_HOST} lightningd: image: lncm/clightning:v22.11.1@sha256:e9939341ca6736566e0499db5a339b25140d6e77fb16ab202c217112f0df9b77 command: - - --bitcoin-rpcconnect=${BITCOIN_NODE_IP} + - --bitcoin-rpcconnect=${BITCOIN_HOST} - --bitcoin-rpcuser=${APP_BITCOIN_RPC_USER} - --bitcoin-rpcpassword=${APP_BITCOIN_RPC_PASS} - --bind-addr=${LIGHTNING_IP}:9735 - --network=${BITCOIN_NETWORK} - --database-upgrade=true - # - --grpc-port=${LIGHTNING_GRPC_PORT} - - --experimental-websocket-port=${LIGHTNING_WEBSOCKET_PORT} + - --grpc-port=${LIGHTNING_GRPC_PORT} + - --experimental-websocket-port=${LIGHTNING_WS_PORT} - --experimental-offers restart: on-failure volumes: - - ${PWD}/data/lightningd:${LIGHTNING_PATH} + - ${PWD}/data/lightningd:${LIGHTNING_DATA_DIR} ports: - - ${LIGHTNING_WEBSOCKET_PORT}:${LIGHTNING_WEBSOCKET_PORT} + - ${LIGHTNING_WS_PORT}:${LIGHTNING_WS_PORT} networks: networkcln: ipv4_address: ${LIGHTNING_IP} @@ -40,7 +40,7 @@ services: lightningd-2: image: lncm/clightning:v22.11.1@sha256:e9939341ca6736566e0499db5a339b25140d6e77fb16ab202c217112f0df9b77 command: - - --bitcoin-rpcconnect=${BITCOIN_NODE_IP} + - --bitcoin-rpcconnect=${BITCOIN_HOST} - --bitcoin-rpcuser=${APP_BITCOIN_RPC_USER} - --bitcoin-rpcpassword=${APP_BITCOIN_RPC_PASS} - --bind-addr=170.21.22.13:9736 @@ -51,7 +51,7 @@ services: - --experimental-offers restart: on-failure volumes: - - ${PWD}/data/lightningd-2:${LIGHTNING_PATH} + - ${PWD}/data/lightningd-2:${LIGHTNING_DATA_DIR} ports: - 2116:2116 networks: @@ -67,35 +67,50 @@ services: - bitcoind - lightningd environment: - APP_PORT: ${APP_PORT} - LIGHTNING_IP: ${LIGHTNING_IP} + APP_SINGLE_SIGN_ON: ${APP_SINGLE_SIGN_ON} + BITCOIN_HOST: ${BITCOIN_HOST} BITCOIN_NETWORK: ${BITCOIN_NETWORK} - APP_IP: ${APP_IP} + APP_CONFIG_FILE: ${APP_CONFIG_FILE} + APP_LOG_FILE: ${APP_LOG_FILE} + APP_MODE: ${APP_MODE} + APP_CONNECT: ${APP_CONNECT} + APP_PROTOCOL: ${APP_PROTOCOL} + APP_HOST: ${APP_HOST} + APP_PORT: ${APP_PORT} + LIGHTNING_DATA_DIR: ${LIGHTNING_DATA_DIR} + LIGHTNING_HOST: ${LIGHTNING_HOST} + LIGHTNING_TOR_HOST: ${LIGHTNING_TOR_HOST} + LIGHTNING_VARS_FILE: ${LIGHTNING_VARS_FILE} + LIGHTNING_WS_PROTOCOL: ${LIGHTNING_WS_PROTOCOL} + LIGHTNING_WS_PORT: ${LIGHTNING_WS_PORT}, + LIGHTNING_WS_CLIENT_KEY_FILE: ${LIGHTNING_WS_CLIENT_KEY_FILE} + LIGHTNING_WS_CLIENT_CERT_FILE: ${LIGHTNING_WS_CLIENT_CERT_FILE} + LIGHTNING_WS_CA_CERT_FILE: ${LIGHTNING_WS_CA_CERT_FILE} + LIGHTNING_REST_PROTOCOL: ${LIGHTNING_REST_PROTOCOL} + LIGHTNING_REST_HOST: ${LIGHTNING_REST_HOST} + LIGHTNING_REST_TOR_HOST: ${LIGHTNING_REST_TOR_HOST} + LIGHTNING_REST_PORT: ${LIGHTNING_REST_PORT}, + LIGHTNING_REST_CLIENT_KEY_FILE: ${LIGHTNING_REST_CLIENT_KEY_FILE} + LIGHTNING_REST_CLIENT_CERT_FILE: ${LIGHTNING_REST_CLIENT_CERT_FILE} + LIGHTNING_REST_CA_CERT_FILE: ${LIGHTNING_REST_CA_CERT_FILE} + LIGHTNING_GRPC_HOST: ${LIGHTNING_GRPC_HOST} + LIGHTNING_GRPC_TOR_HOST: ${LIGHTNING_GRPC_TOR_HOST} LIGHTNING_GRPC_PORT: ${LIGHTNING_GRPC_PORT} - LIGHTNING_REST_PORT: ${LIGHTNING_REST_PORT} - LIGHTNING_WEBSOCKET_PORT: ${LIGHTNING_WEBSOCKET_PORT} - LIGHTNING_CERTS_DIR: ${LIGHTNING_CERTS_DIR} - HIDDEN_SERVICE_URL: http://${HIDDEN_SERVICE_URL} - LIGHTNING_PATH: ${LIGHTNING_PATH} - COMMANDO_CONFIG: ${COMMANDO_CONFIG} - APP_CONFIG_DIR: ${APP_CONFIG_DIR} - APP_MODE: "production" - DEVICE_DOMAIN_NAME: ${DEVICE_DOMAIN_NAME} - LOCAL_HOST: http://${DEVICE_DOMAIN_NAME} - CA_CERT: ${LIGHTNING_PATH}/bitcoin/ca.pem - CLIENT_KEY: ${LIGHTNING_PATH}/bitcoin/client-key.pem - CLIENT_CERT: ${LIGHTNING_PATH}/bitcoin/client.pem + LIGHTNING_GRPC_PROTO_PATH: ${LIGHTNING_GRPC_PROTO_PATH} + LIGHTNING_GRPC_CLIENT_KEY_FILE: ${LIGHTNING_GRPC_CLIENT_KEY_FILE} + LIGHTNING_GRPC_CLIENT_CERT_FILE: ${LIGHTNING_GRPC_CLIENT_CERT_FILE} + LIGHTNING_GRPC_CA_CERT_FILE: ${LIGHTNING_GRPC_CA_CERT_FILE} command: npm run start restart: on-failure volumes: - - ${PWD}/data/lightningd:${LIGHTNING_PATH} + - ${PWD}/data/lightningd:${LIGHTNING_DATA_DIR} - ${PWD}/data/c-lightning-rest/certs:/c-lightning-rest/certs - ${PWD}/data/app:/data/app ports: - "${APP_PORT}:${APP_PORT}" networks: networkcln: - ipv4_address: ${APP_IP} + ipv4_address: ${APP_HOST} application-2: build: @@ -106,28 +121,25 @@ services: - bitcoind - lightningd environment: - APP_PORT: 2113 - LIGHTNING_IP: 170.21.22.13 BITCOIN_NETWORK: ${BITCOIN_NETWORK} - APP_IP: 170.21.22.15 - LIGHTNING_GRPC_PORT: ${LIGHTNING_GRPC_PORT} - LIGHTNING_REST_PORT: ${LIGHTNING_REST_PORT} - LIGHTNING_WEBSOCKET_PORT: 2116 - LIGHTNING_CERTS_DIR: ${LIGHTNING_CERTS_DIR} - HIDDEN_SERVICE_URL: http://${HIDDEN_SERVICE_URL} - LIGHTNING_PATH: ${LIGHTNING_PATH} - COMMANDO_CONFIG: ${COMMANDO_CONFIG} - APP_CONFIG_DIR: ${APP_CONFIG_DIR} + LIGHTNING_HOST: 170.21.22.13 APP_MODE: "production" - DEVICE_DOMAIN_NAME: ${DEVICE_DOMAIN_NAME} - LOCAL_HOST: http://${DEVICE_DOMAIN_NAME} - CA_CERT: ${LIGHTNING_PATH}/bitcoin/ca.pem - CLIENT_KEY: ${LIGHTNING_PATH}/bitcoin/client-key.pem - CLIENT_CERT: ${LIGHTNING_PATH}/bitcoin/client.pem + APP_HOST: 170.21.22.15 + APP_PORT: 2113 + LIGHTNING_TOR_HOST: ${LIGHTNING_TOR_HOST} + LIGHTNING_VARS_FILE: ${LIGHTNING_VARS_FILE} + LIGHTNING_WS_PORT: 2116 + LIGHTNING_REST_PORT: ${LIGHTNING_REST_PORT} + LIGHTNING_GRPC_PORT: ${LIGHTNING_GRPC_PORT} + LIGHTNING_GRPC_PROTO_PATH: ${LIGHTNING_GRPC_PROTO_PATH} + LIGHTNING_DATA_DIR: ${LIGHTNING_DATA_DIR} + LIGHTNING_REST_CLIENT_KEY_FILE: ${LIGHTNING_DATA_DIR}/bitcoin/client-key.pem + LIGHTNING_REST_CLIENT_CERT_FILE: ${LIGHTNING_DATA_DIR}/bitcoin/client.pem + LIGHTNING_REST_CA_CERT_FILE: ${LIGHTNING_DATA_DIR}/bitcoin/ca.pem command: npm run start restart: on-failure volumes: - - ${PWD}/data/lightningd-2:${LIGHTNING_PATH} + - ${PWD}/data/lightningd-2:${LIGHTNING_DATA_DIR} - ${PWD}/data/c-lightning-rest/certs:/c-lightning-rest/certs - ${PWD}/data/app-2:/data/app ports: diff --git a/entrypoint.sh b/entrypoint.sh index 7b613331..cc17241a 100755 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -1,7 +1,7 @@ #!/bin/sh EXISTING_PUBKEY="" GETINFO_RESPONSE="" -LIGHTNING_RPC=$LIGHTNING_PATH"/$BITCOIN_NETWORK""/lightning-rpc" +LIGHTNING_RPC=$LIGHTNING_DATA_DIR"/$BITCOIN_NETWORK""/lightning-rpc" getinfo_request() { cat <> "$COMMANDO_CONFIG" + echo "LIGHTNING_RUNE=\"$RUNE\"" >> "$LIGHTNING_VARS_FILE" fi if [ "$UNIQUE_ID" != "" ] && [ "$UNIQUE_ID" != "null" ]; then @@ -69,9 +69,9 @@ generate_new_rune() { } # Read existing pubkey -if [ -f "$COMMANDO_CONFIG" ]; then - EXISTING_PUBKEY=$(head -n1 "$COMMANDO_CONFIG") - EXISTING_RUNE=$(sed -n "2p" "$COMMANDO_CONFIG") +if [ -f "$LIGHTNING_VARS_FILE" ]; then + EXISTING_PUBKEY=$(head -n1 "$LIGHTNING_VARS_FILE") + EXISTING_RUNE=$(sed -n "2p" "$LIGHTNING_VARS_FILE") echo "EXISTING_PUBKEY" echo "$EXISTING_PUBKEY" echo "EXISTING_RUNE" @@ -97,8 +97,8 @@ if [ "$EXISTING_PUBKEY" != "LIGHTNING_PUBKEY=\"$LIGHTNING_PUBKEY\"" ] || [ "$EXISTING_RUNE" = "LIGHTNING_RUNE=\"null\"" ]; then # Pubkey changed or missing rune; rewrite new data on the file. echo "Pubkey mismatched or missing rune; Rewriting the data." - cat /dev/null > "$COMMANDO_CONFIG" - echo "LIGHTNING_PUBKEY=\"$LIGHTNING_PUBKEY\"" >> "$COMMANDO_CONFIG" + cat /dev/null > "$LIGHTNING_VARS_FILE" + echo "LIGHTNING_PUBKEY=\"$LIGHTNING_PUBKEY\"" >> "$LIGHTNING_VARS_FILE" generate_new_rune else echo "Pubkey matches with existing pubkey." diff --git a/env.sh b/env.sh index c2404785..93d59b72 100755 --- a/env.sh +++ b/env.sh @@ -8,42 +8,36 @@ if [[ "$APP_BITCOIN_NETWORK" == "mainnet" ]]; then fi export APP_PORT=2103 -export HIDDEN_SERVICE_URL="http://oqaer4kd7ufryngx6dsztovs4pnlmaouwmtkofjsd2m7pkq7qd.onion" +export LIGHTNING_TOR_HOST="http://oqaer4kd7ufryngx6dsztovs4pnlmaouwmtkofjsd2m7pkq7qd.onion" export APP_MODE="testing" export APP_PROTOCOL="http" if [[ "$SETUP" == "docker" ]]; then - export DEVICE_DOMAIN_NAME="docker.local" - export LOCAL_HOST="http://""$DEVICE_DOMAIN_NAME" - export BITCOIN_NODE_IP="170.21.22.2" + export LIGHTNING_HOST="docker.local" + export BITCOIN_HOST="170.21.22.2" export LIGHTNING_IP="170.21.22.3" - export APP_IP="170.21.22.5" - export APP_CONFIG_DIR="/data/app" - export LIGHTNING_CERTS_DIR="/data/.lightning/bitcoin" - export LIGHTNING_WEBSOCKET_PROTOCOL="ws" - export LIGHTNING_WEBSOCKET_PORT=2106 + export APP_HOST="170.21.22.5" + export LIGHTNING_WS_PORT=2106 export APP_BITCOIN_RPC_USER="user" export APP_BITCOIN_RPC_PASS="password" export LIGHTNING_GRPC_PORT=2105 export LIGHTNING_REST_PORT=2104 - export SINGLE_SIGN_ON=true - export LIGHTNING_PATH="/data/.lightning" - export COMMANDO_CONFIG="/data/.lightning/.commando-env" + export APP_SINGLE_SIGN_ON=true + export LIGHTNING_GRPC_PROTO_PATH="https://github.com/ElementsProject/lightning/tree/master/cln-grpc/proto" + export LIGHTNING_DATA_DIR="/data/.lightning" + export LIGHTNING_VARS_FILE="/data/.lightning/.commando-env" echo "Docker Environment Variables Set" else - export DEVICE_DOMAIN_NAME="local.local" - export LOCAL_HOST="http://""$DEVICE_DOMAIN_NAME" - export BITCOIN_NODE_IP="localhost" + export LIGHTNING_HOST="local.local" + export BITCOIN_HOST="localhost" export LIGHTNING_IP="localhost" - export APP_IP="127.0.0.1" - export APP_CONFIG_DIR="$PWD/data/app" - export LIGHTNING_CERTS_DIR="/home/.lightning/l1-regtest/regtest" - export LIGHTNING_WEBSOCKET_PROTOCOL="ws" - export LIGHTNING_WEBSOCKET_PORT=5001 + export APP_HOST="127.0.0.1" + export LIGHTNING_WS_PORT=5001 export LIGHTNING_GRPC_PORT=5002 export LIGHTNING_REST_PORT=3001 - export SINGLE_SIGN_ON=false - export LIGHTNING_PATH="/home/.lightning/l1-regtest" - export COMMANDO_CONFIG="$PWD/.commando" + export APP_SINGLE_SIGN_ON=false + export LIGHTNING_GRPC_PROTO_PATH="https://github.com/ElementsProject/lightning/tree/master/cln-grpc/proto" + export LIGHTNING_DATA_DIR="/home/.lightning/l1-regtest" + export LIGHTNING_VARS_FILE="$PWD/.commando" echo "Local Environment Variables Set" fi From 098ab35e094ad06021305be2091644270b4b8300 Mon Sep 17 00:00:00 2001 From: ShahanaFarooqui Date: Wed, 9 Jul 2025 16:51:12 -0700 Subject: [PATCH 2/6] Code cleanup --- .../src/components/modals/Login/Login.tsx | 4 ++-- .../src/components/modals/Logout/Logout.scss | 1 - .../components/modals/Logout/Logout.test.tsx | 23 ++++++++++++------- .../src/components/modals/Logout/Logout.tsx | 2 +- .../components/modals/NodeInfo/NodeInfo.scss | 7 ------ .../components/modals/NodeInfo/NodeInfo.tsx | 2 +- .../modals/SQLTerminal/SQLTerminal.tsx | 2 +- .../modals/SetPassword/SetPassword.tsx | 4 ++-- .../src/components/ui/Header/Header.tsx | 4 ++-- apps/frontend/src/routes/routerReduxSync.tsx | 3 ++- apps/frontend/src/services/http.service.ts | 1 - apps/frontend/src/setupTests.ts | 3 +++ apps/frontend/src/styles/constants.scss | 2 +- apps/frontend/src/styles/shared.scss | 4 ++-- apps/frontend/src/svgs/Copy.tsx | 2 +- apps/frontend/src/utilities/constants.ts | 1 + .../frontend/src/utilities/data-formatters.ts | 13 +++++++++++ 17 files changed, 47 insertions(+), 31 deletions(-) diff --git a/apps/frontend/src/components/modals/Login/Login.tsx b/apps/frontend/src/components/modals/Login/Login.tsx index 1b75f6de..37d7dafe 100644 --- a/apps/frontend/src/components/modals/Login/Login.tsx +++ b/apps/frontend/src/components/modals/Login/Login.tsx @@ -86,7 +86,7 @@ const LoginComponent = () => { return (
- + @@ -127,7 +127,7 @@ const LoginComponent = () => { - +