diff --git a/.DS_Store b/.DS_Store index a524c26f..9c381b9c 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/.github/docs/Core_lightning_setup.md b/.github/docs/Core_lightning_setup.md index e014cae9..cf25af1c 100644 --- a/.github/docs/Core_lightning_setup.md +++ b/.github/docs/Core_lightning_setup.md @@ -1,4 +1,4 @@ -![](../screenshots/RTL-CLN-Dashboard.png) +![](../screenshots/RTL-CLN-Arch-3.png) ## RTL Core lightning setup @@ -10,16 +10,16 @@ * [Start the server and access the app](#start) ### Introduction -RTL is now enabled to manage lightning nodes running Core Lightning. +RTL is now enabled to manage lightning nodes running Core Lightning -Follow the below steps to install and setup RTL to run on Core Lightning. +Follow the below steps to install and setup RTL to run on Core Lightning ### Pre-requisites: 1. Functioning Core Lightning node. Follow install instructions on their [github](https://github.com/ElementsProject/lightning) 2. NodeJS - Can be downloaded [here](https://nodejs.org/en/download) -3. clnrest - Ensure that core lightning's `clnrest` API server is configured. Configuration instructions [here](https://docs.corelightning.org/docs/rest#configuration) -4. Create/reuse a rune created by core-lightning. Check [`createrune`](https://docs.corelightning.org/reference/lightning-createrune) and [`showrunes`](https://docs.corelightning.org/reference/lightning-showrunes) commands documentation for more details. -4. Copy the `rune` and save it in a file named `.commando`, on which RTL will be installed. +3. CLNRest - Ensure that core lightning's `CLNRest` API server is configured. Configuration instructions [here](https://docs.corelightning.org/docs/rest#configuration) +4. Create/reuse core-lightning's rune. Check [`createrune`](https://docs.corelightning.org/reference/lightning-createrune) and [`showrunes`](https://docs.corelightning.org/reference/lightning-showrunes) documentation for more details on how to create runes +4. Copy the `rune` and save it in a file which must be accessible to RTL. The content of the file must be `LIGHTNING_RUNE=""` ### Architecture ![](../screenshots/RTL-CLN-Arch-2.png) @@ -49,17 +49,17 @@ $ npm install --omit=dev If there is an error with `upstream dependency conflict` message then replace `npm install --omit=dev` with `npm install --omit=dev --legacy-peer-deps`. ### Prep for Execution -RTL requires its own config file `RTL-Config.json`, to start the server and provide user authentication on the app. -* Rename the file `Sample-RTL-Config.json` to `RTL-Config.json` located at`./RTL`.. -* Locate the complete path of the readable `.commando` file on your node. +RTL requires its own config file `RTL-Config.json`, to start the server and provide user authentication on the app +* Rename the file `Sample-RTL-Config.json` to `RTL-Config.json` located at`./RTL` +* Locate the complete path of the readable `.commando` file on your node * Modify the RTL conf file per the example file below Ensure that the follow values are correct per your config: -* `lnImplementation` - This should be `CLN`, indicating that RTL is connecting to a core lightning node. -* `runePath` - Path of the folder including filename which contains `rune` for the node. This rune in the file should be saved in `LIGHTNING_RUNE="your-rune"` format. -* `lnServerUrl` - complete url with ip address and port of the cl-rest server. -* `multiPass` - Specify the password (in plain text) to access RTL. This password will be hashed and not stored as plain text. -* `configPath` (optional) - File path of the core lightning config file, if RTL server is local to the core lightning server. +* `lnImplementation` - This should be `CLN`, indicating that RTL is connecting to a core lightning node +* `runePath` - Path of the folder including **filename** which contains the `rune` for the node. The content of the file must be `LIGHTNING_RUNE=""` +* `lnServerUrl` - complete url with ip address and port of the CLNRest server +* `multiPass` - Specify the password (in plain text) to access RTL. This password will be hashed and not stored as plain text +* `configPath` (optional) - File path of the core lightning config file, if RTL server is local to the core lightning server ``` { @@ -89,7 +89,7 @@ Ensure that the follow values are correct per your config: "logLevel": "INFO", "fiatConversion": false, "unannouncedChannels": false, - "lnServerUrl": "https://:3001" + "lnServerUrl": "https://:3001" } } ] @@ -102,9 +102,9 @@ Run the following command: If the server started successfully, you should get the below output on the console: -`$ Server is up and running, please open the UI at http://localhost:3000 or your proxy configured url.` +`$ Server is up and running, please open the UI at http://localhost:3000 or your proxy configured url` -Open your browser at the following address: http://localhost:3000 to access the RTL app. +Open your browser at the following address: http://localhost:3000 to access the RTL app ### Detailed config and instructions -For detailed config and access options and other information, view the main readme page. +For detailed config and access options and other information, view the main readme page diff --git a/.github/screenshots/RTL-CLN-Arch-3.png b/.github/screenshots/RTL-CLN-Arch-3.png new file mode 100644 index 00000000..18b25269 Binary files /dev/null and b/.github/screenshots/RTL-CLN-Arch-3.png differ diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 637285cf..6bea0d69 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -33,7 +33,7 @@ jobs: - name: Install NPM dependencies if: steps.cache-npm-packages.outputs.cache-hit != 'true' - run: npm ci --legacy-peer-deps + run: npm ci lint: name: Lint @@ -57,7 +57,7 @@ jobs: - name: Install NPM dependencies if: steps.cache-npm-packages.outputs.cache-hit != 'true' - run: npm ci --legacy-peer-deps + run: npm ci - name: Lint Scripts run: npm run lint @@ -89,7 +89,7 @@ jobs: - name: Install NPM dependencies if: steps.cache-npm-packages.outputs.cache-hit != 'true' - run: npm ci --legacy-peer-deps + run: npm ci - name: Run tests run: npm run test diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e63809aa..30dc5513 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -34,7 +34,7 @@ jobs: - name: Install NPM dependencies if: steps.cache-npm-packages.outputs.cache-hit != 'true' - run: npm ci --legacy-peer-deps + run: npm ci - name: Cache build frontend uses: actions/cache@v2 diff --git a/dockerfiles/Dockerfile b/dockerfiles/Dockerfile index f4606e35..4e218274 100644 --- a/dockerfiles/Dockerfile +++ b/dockerfiles/Dockerfile @@ -1,14 +1,14 @@ # --------------- # Install Dependencies # --------------- -FROM node:16-alpine as builder +FROM node:18-alpine as builder WORKDIR /RTL COPY package.json /RTL/package.json COPY package-lock.json /RTL/package-lock.json -RUN npm install --legacy-peer-deps +RUN npm install # --------------- # Build App @@ -22,12 +22,12 @@ RUN npm run buildfrontend RUN npm run buildbackend # Remove non production necessary modules -RUN npm prune --production --legacy-peer-deps +RUN npm prune --production # --------------- # Release App # --------------- -FROM node:16-alpine as runner +FROM node:18-alpine as runner WORKDIR /RTL diff --git a/dockerfiles/Dockerfile.arm32v7 b/dockerfiles/Dockerfile.arm32v7 index 1fb68520..95f65572 100644 --- a/dockerfiles/Dockerfile.arm32v7 +++ b/dockerfiles/Dockerfile.arm32v7 @@ -1,7 +1,7 @@ # --------------- # Install Dependencies # --------------- -FROM node:16-stretch-slim as builder +FROM node:18-alpine as builder ADD https://github.com/krallin/tini/releases/download/v0.19.0/tini-static-armel /tini ADD https://github.com/krallin/tini/releases/download/v0.19.0/tini-static-armel.asc /tini.asc @@ -12,7 +12,7 @@ WORKDIR /RTL COPY package.json /RTL/package.json COPY package-lock.json /RTL/package-lock.json -RUN npm install --legacy-peer-deps +RUN npm install # --------------- # Build App @@ -26,12 +26,12 @@ RUN npm run buildfrontend RUN npm run buildbackend # Remove non production necessary modules -RUN npm prune --production --legacy-peer-deps +RUN npm prune --production # --------------- # Release App # --------------- -FROM arm32v7/node:16-stretch-slim as runner +FROM arm32v7/node:18-alpine as runner WORKDIR /RTL diff --git a/dockerfiles/Dockerfile.arm64v8 b/dockerfiles/Dockerfile.arm64v8 index d55ee34a..d98abc12 100644 --- a/dockerfiles/Dockerfile.arm64v8 +++ b/dockerfiles/Dockerfile.arm64v8 @@ -1,7 +1,7 @@ # --------------- # Install Dependencies # --------------- -FROM node:16-stretch-slim as builder +FROM node:18-alpine as builder ADD https://github.com/krallin/tini/releases/download/v0.19.0/tini-static-arm64 /tini RUN chmod +x /tini @@ -11,7 +11,7 @@ WORKDIR /RTL COPY package.json /RTL/package.json COPY package-lock.json /RTL/package-lock.json -RUN npm install --legacy-peer-deps +RUN npm install # --------------- # Build App @@ -25,12 +25,12 @@ RUN npm run buildfrontend RUN npm run buildbackend # Remove non production necessary modules -RUN npm prune --production --legacy-peer-deps +RUN npm prune --production # --------------- # Release App # --------------- -FROM arm64v8/node:16-stretch-slim as runner +FROM arm64v8/node:18-alpine as runner WORKDIR /RTL