mirror of
https://github.com/Ride-The-Lightning/RTL.git
synced 2026-08-13 12:33:07 +02:00
The setup in docker/ has been unable to start since Feb 2021. The boltz
service added in f817ae39 references BOLTZ_* variables that are not in .env
(so its ports render as ":" and compose rejects the file with "invalid
proto"), a ./boltz build context that has never existed in the repo, and
boltz_data/boltz_shared volumes that are never declared. Because compose
validates the whole project up front, this broke every service: "docker
compose up -d bitcoind", the first command in the README, failed too.
Rather than repair a five-year-old file pinned to bitcoind 0.19.0 and lnd
0.12.0-beta, this replaces it.
What changed:
- bitcoind 30.0 and 3x lnd 0.20.0-beta, using Polar's images. They are
multi-arch, so nothing is built locally and this works on arm64. The old
setup built bitcoind and lnd from local Dockerfiles.
- Three nodes, not one: alice -> bob -> carol. bob forwards, so RTL's
routing and forwarding screens have data. Two nodes leave them empty.
- scripts/seed.sh funds the nodes, opens channels, and makes payments with
fixed amounts. A fresh run reproduces identical state, so screenshots
taken before and after a change differ only by the change. It is
deliberately not idempotent and refuses to run against a seeded network,
since re-running would double-fund it.
- rtl/RTL-Config.regtest.json configures all three nodes. RTL rewrites its
config on startup, so an init container stages a copy into a volume: a
read-only bind mount makes RTL exit with EROFS, and a writable one would
let RTL modify a tracked file. It is not named RTL-Config.json because
.gitignore matches that bare name at any depth.
- bin/ln-cli now takes a node name and passes --lnddir=/home/lnd/.lnd,
because 'docker compose exec' lands as root while lnd's datadir is under
/home/lnd. Both helpers use compose v2.
- README rewritten to match.
Boltz, Core Lightning and Eclair are left out of this pass. Polar publishes
multi-arch clightning and eclair images, so adding them later needs compose
services, config entries and seed adapters, but no image building.
Verified from a clean 'down -v': all nodes sync, channels go active, 5/5
payments route through bob, bob records 5 forwards, and RTL serves the UI
with all three nodes configured. Two independent from-scratch runs produced
identical balances.
The old bitcoind/ and lnd/ build contexts are now unreferenced but left in
place for a follow-up.
67 lines
1.7 KiB
JSON
67 lines
1.7 KiB
JSON
{
|
|
"multiPass": "password",
|
|
"port": "3000",
|
|
"defaultNodeIndex": 1,
|
|
"dbDirectoryPath": "/RTL/database",
|
|
"SSO": {
|
|
"rtlSSO": 0,
|
|
"rtlCookiePath": "",
|
|
"logoutRedirectLink": ""
|
|
},
|
|
"nodes": [
|
|
{
|
|
"index": 1,
|
|
"lnNode": "alice",
|
|
"lnImplementation": "LND",
|
|
"authentication": {
|
|
"macaroonPath": "/lnd/alice/data/chain/bitcoin/regtest"
|
|
},
|
|
"settings": {
|
|
"userPersona": "OPERATOR",
|
|
"themeMode": "DAY",
|
|
"themeColor": "PURPLE",
|
|
"logLevel": "ERROR",
|
|
"lnServerUrl": "https://alice:8080",
|
|
"fiatConversion": false,
|
|
"unannouncedChannels": false,
|
|
"blockExplorerUrl": "https://mempool.space"
|
|
}
|
|
},
|
|
{
|
|
"index": 2,
|
|
"lnNode": "bob",
|
|
"lnImplementation": "LND",
|
|
"authentication": {
|
|
"macaroonPath": "/lnd/bob/data/chain/bitcoin/regtest"
|
|
},
|
|
"settings": {
|
|
"userPersona": "OPERATOR",
|
|
"themeMode": "DAY",
|
|
"themeColor": "PURPLE",
|
|
"logLevel": "ERROR",
|
|
"lnServerUrl": "https://bob:8080",
|
|
"fiatConversion": false,
|
|
"unannouncedChannels": false,
|
|
"blockExplorerUrl": "https://mempool.space"
|
|
}
|
|
},
|
|
{
|
|
"index": 3,
|
|
"lnNode": "carol",
|
|
"lnImplementation": "LND",
|
|
"authentication": {
|
|
"macaroonPath": "/lnd/carol/data/chain/bitcoin/regtest"
|
|
},
|
|
"settings": {
|
|
"userPersona": "MERCHANT",
|
|
"themeMode": "DAY",
|
|
"themeColor": "PURPLE",
|
|
"logLevel": "ERROR",
|
|
"lnServerUrl": "https://carol:8080",
|
|
"fiatConversion": false,
|
|
"unannouncedChannels": false,
|
|
"blockExplorerUrl": "https://mempool.space"
|
|
}
|
|
}
|
|
]
|
|
}
|