diff --git a/backend/src/api/lightning/lnd/lnd-api.ts b/backend/src/api/lightning/lnd/lnd-api.ts index 31b868df9..b4c91d36e 100644 --- a/backend/src/api/lightning/lnd/lnd-api.ts +++ b/backend/src/api/lightning/lnd/lnd-api.ts @@ -4,21 +4,29 @@ import * as fs from 'fs'; import { AbstractLightningApi } from '../lightning-api-abstract-factory'; import { ILightningApi } from '../lightning-api.interface'; import config from '../../../config'; +import logger from '../../../logger'; class LndApi implements AbstractLightningApi { axiosConfig: AxiosRequestConfig = {}; constructor() { - if (config.LIGHTNING.ENABLED) { + if (!config.LIGHTNING.ENABLED) { + return; + } + try { this.axiosConfig = { headers: { - 'Grpc-Metadata-macaroon': fs.readFileSync(config.LND.MACAROON_PATH).toString('hex') + 'Grpc-Metadata-macaroon': fs.readFileSync(config.LND.MACAROON_PATH).toString('hex'), }, httpsAgent: new Agent({ ca: fs.readFileSync(config.LND.TLS_CERT_PATH) }), timeout: config.LND.TIMEOUT }; + } catch (e) { + config.LIGHTNING.ENABLED = false; + logger.updateNetwork(); + logger.err(`Could not initialize LND Macaroon/TLS Cert. Disabling LIGHTNING. ` + (e instanceof Error ? e.message : e)); } } diff --git a/backend/src/logger.ts b/backend/src/logger.ts index 634f8f582..efafe894e 100644 --- a/backend/src/logger.ts +++ b/backend/src/logger.ts @@ -69,6 +69,10 @@ class Logger { this.network = this.getNetwork(); } + public updateNetwork(): void { + this.network = this.getNetwork(); + } + private addprio(prio): void { this[prio] = (function(_this) { return function(msg, tag?: string) { diff --git a/docker/frontend/entrypoint.sh b/docker/frontend/entrypoint.sh index 45d852c45..1721bcad5 100644 --- a/docker/frontend/entrypoint.sh +++ b/docker/frontend/entrypoint.sh @@ -10,6 +10,8 @@ cp /etc/nginx/nginx.conf /patch/nginx.conf sed -i "s/__MEMPOOL_FRONTEND_HTTP_PORT__/${__MEMPOOL_FRONTEND_HTTP_PORT__}/g" /patch/nginx.conf cat /patch/nginx.conf > /etc/nginx/nginx.conf +[ "${APP_LIGHTNING_NODE_PORT}" = "9735" ] && LIGHTNING=true + # Runtime overrides - read env vars defined in docker compose __TESTNET_ENABLED__=${TESTNET_ENABLED:=false}