This repo allows you get Clams running quickly in a modern docker engine using docker compose (v2)
. The main scripts you need to know about are:
./up.sh
- brings up your Clams infrastructure according to./.env
../down.sh
- brings your Clams infrastructure down in a non-destructive way../reset.sh
- resets any temporary data or files from previous deployment attempts, allowing you to run./up.sh
again.
If you leave ./.env
unmodified, you will get 1) bitcoind 2) core lightning (both on regtest), and 3) the browser-app accessible at http://localhost:80
. Core lightning is configured to listen using the experimental websocket feature and is available at ws://localhost:9736
. All services are ultimately exposed by a single nginx
container that binds to whatever is specified in BIND_ADDR
.
By updating ./.env
, you can override anything specified in ./defaults.env
. The most important are the Global Settings. From here you can specify WHETHER to deploy TLS, the IP address to bind to, and the FQDN of the clams host. If you're going to enable TLS, then you MUST update CLAMS_FQDN and BIND_ADDR as well. Whatever you set CLAMS_FQDN to MUST be resolvable by the DNS.
When
ENABLE_TLS=true
you MUST forward ports 80/tcp and 443/tcp during certificate issuance and renewal (i.e., PUBLIC->BIND_ADDR:80/443) for everything to work.
The output of ./up.sh
provides you with useful information like service endpoints. The scripts also emit node URI from the core lightning node that gets deployed. This is the first piece of information you need when using the browser-app
. The second piece of information you need is a functional rune. The script accepts a session ID (which the user copies from the [browser-app]) and produces a rune.
Warning: Bitcoin
mainnet
is NOT SUPPORTED at this time.