You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* Clone the project: git clone https://github.com/ElementsProject/cln-application.git
4
-
* Change directory: cd cln-application
5
-
* Install dependencies: Assuming that nodejs (v14 & above) and npm are already installed, run `npm install`.
6
-
* Setup environment variables: Assuming that bitcoind and core-lightning are already running, adjust environment variables listed in `./env.sh` file and execute the script with `'. env.sh'` to setup required environment variables to connect to the node.
7
-
* Setup Commando auth: Update `LIGHTNING_PUBKEY` and `LIGHTNING_RUNE` variables in `.commando` for successful backend authentication and connection via commando. Or run `entrypoint.sh` with correct lightningd path to do the same.
8
-
* Run backend server: Get backend server up by running `npm run backend:serve`.
9
-
* Watch backend server: Watch backend server for realtime changes with `npm run backend:watch`.
10
-
* React frontend server: React development server is set to serve on port 4300. Run `npm run frontend:dev` script to get it working.
11
-
12
-
13
-
Releasing and packaging on Github
14
-
----------------------------------
15
-
* Merge the `Release-<x.y.z>` branch into `main` branch.
16
-
* Set VERSION env `VERSION=v<x.y.z>`.
17
-
* Tag the commit with `git tag -a -s ${VERSION} -m ${VERSION} && git push --tags`.
18
-
* Go to repo's `Releases` page and draft a new release from above tag.
19
-
* Prepare release notes with the help of milestone, issues and PRs. Add them on the release page.
* Verify the release with `gpg --verify SHA256SUMS.asc`.
26
-
* Upload `cln-application-${VERSION}.zip`, `SHA256SUMS` and `SHA256SUMS.asc` files on release assets.
27
-
* Go to repo's `Actions` tab and confirm that actions have been triggered for `Artifact` and `Build and publish Github image`.
28
-
* Confirm that both actions finished successfully and the latest package is available at `https://github.com/orgs/ElementsProject/packages?repo_name=cln-application`.
1
+
Development Setup
2
+
------------------
3
+
### Prerequisites
4
+
- Node.js (v14 or higher)
5
+
- npm
6
+
- Running instances of bitcoind and core-lightning
- APP_SINGLE_SIGN_ON: Flag to bypass application level authentication (valid values: true/false, default: false)
59
61
- APP_PROTOCOL: Protocol on which the application will be served (valid values: http/https, default: `http`)
60
62
- APP_HOST: Hostname/IP address of cln-application's container (default: `localhost`)
61
63
- APP_PORT: Port on which this application should be served (default: `2103`)
62
-
63
64
- APP_CONFIG_FILE: Path for cln-application's configuration file (default: `./config.json`)
64
65
- APP_LOG_FILE: Path for cln-application's log file (default: `./application-cln.log`)
65
66
- APP_MODE: Mode for logging and other settings (valid values: production/development/testing, default: `production`)
66
67
- APP_CONNECT: Choose how to connect to CLN (valid values: COMMANDO/REST/GRPC, default: `COMMANDO`)
67
68
68
-
- LIGHTNING_DATA_DIR: Path for core lightning (used by entrypoint.sh, default: ``)
69
+
# Core lightning Values
69
70
- LIGHTNING_HOST: IP address of Core lightning node container (used for `COMMANDO` APP_CONNECT, default: `localhost`)
70
71
- LIGHTNING_TOR_HOST: REST hidden service url (default: ``)
71
-
72
72
- LIGHTNING_VARS_FILE: Full Path including the file name for connection auth with LIGHTNING_PUBKEY & LIGHTNING_RUNE (defult: `./.commando-env`)
73
+
74
+
# CLN Commando (WS) Values
73
75
- LIGHTNING_WS_PROTOCOL: Core lightning's web socket is serving on ws or serving via WSSProxy (valid values: ws/wss, default: `ws`)
74
76
- 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`)
75
77
- 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`)
76
78
- 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`)
77
79
- LIGHTNING_WS_CA_CERT_FILE: CA certificate file path including file name for websocket TLS authentication (default: `./ca.pem`)
78
80
81
+
# CLN REST Values
79
82
- LIGHTNING_REST_PROTOCOL: Protocol on which REST is served (valid values: http/https, default: `https`)
80
83
- LIGHTNING_REST_HOST: IP address/hostname of Core Lightning REST interface (used if APP_CONNECT is `REST`, default: `localhost`)
81
84
- LIGHTNING_REST_TOR_HOST: Tor hidden service URL for Core Lightning REST interface (default: ``)
@@ -84,6 +87,7 @@
84
87
- LIGHTNING_REST_CLIENT_CERT_FILE: Client certificate file path including file name for REST TLS authentication (default: `./client.pem`)
85
88
- 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`)
86
89
90
+
# CLN gRPC Values
87
91
- LIGHTNING_GRPC_HOST: IP address/hostname of Core Lightning GRPC interface (used if APP_CONNECT is `GRPC`, default: `localhost`)
88
92
- LIGHTNING_GRPC_TOR_HOST: Tor hidden service URL for Core Lightning GRPC interface (default: ``)
89
93
- LIGHTNING_GRPC_PORT: Core lightning's GRPC port (used if APP_CONNECT is `GRPC`; default: `9736`)
0 commit comments