/docker-lnurl-commando

An docker hosted experimental commando lnurl server

Primary LanguageJavaScript

Dockerized lnurl-commando 📦

An easily configurable docker instance of a lnurl server that fetches invoices over the lightning network via lnsocket1 and commando2.

Why?

This dockerized version of lnurl-commando was built to enable LNURL payments on Core Lightning nodes in the form of name@domain.com. This is commonplace with LND but core lightning lnurl support right now is not overt. This repo solves this.

lnurl-commando in this version enables zaps on nostr for Core Lightning users.

Deps

  • Reverse Proxy
  • Core Lightning Node

Usage

First modify the .env example to fir your configuration.

Then run

docker compose up

Environment Variables Structure

  • CLN_NODEID: Your core lightning node's ID Command: lightning-cli getinfo

  • CLN_RUNE: Rune generated by core lightning for invoice creation access. Reference: see notes

  • CLN_HOST: Hostname or IP address of your core lightning node with 9735 access.

  • CALLBACK: URL endpoint for the ln-url commando to return the invoice to the wallet Example: lnurl.qrsnap.io

  • NOSTR_PUBKEY Your BIP340 nostr public key (64 hex characters). Note: this is not npub.

  • LNURL_DESCRIPTION: Text that will appear in the client's wallet when they use your lnurl.

  • LNURL_LONGDESCRIPTION: Extended description. Be aware that not all wallets use this.

  • LOCAL_THUMBNAIL: File path to an LNURL image. Again, not all wallets might utilize this.

  • IDENTIFIER: A unique identifier for you, your nym, service, and so on.

Notes

Make sure that the rune is restricted to the invoice method:

$ lightning-cli commando-rune restrictions=method=invoice

Attribution

@jb55

References

Footnotes

  1. https://github.com/jb55/lnsocket

  2. https://github.com/lightningd/plugins/tree/master/commando