LNbits 1.5.4 falls back to VoidWallet on StartOS 0.4.0-beta.9 — LND `admin.macaroon` not mounted (`/mnt/lnd/admin.macaroon` missing) despite dependency showing "satisfied"

Hi!
Goal: use LNbits for payments — specifically LNURL withdraw links. Both access points already work (public URL via port-forward + local .local address); the only thing failing is LND’s macaroon syncing into LNbits, so there’s no working funding source.
I’ve spent a few days narrowing this down to one specific failure. Sharing the exact logs and everything I’ve tried so it’s quick to pin down.
Setup:

  • Start9 Server Pure, StartOS 0.4.0-beta.9
  • LND 0.20.1-beta + Ride the Lightning 0.15.8 — healthy/green, two open channels, balance visible, RTL connects to LND fine
  • LNbits 1.5.4 — running/green, publicly accessible via router port-forward
    Problem: LNbits is configured for LND (LndRestWallet) but fails at every startup because LND’s macaroon isn’t present in the LNbits container. Verbatim startup block:
    INFO | Funding source: LndRestWallet
    INFO | Database: SQLite
    ERROR | Error initializing LndRestWallet: [Errno 2] No such file or directory: ‘/mnt/lnd/admin.macaroon’
    WARNING | Fallback to VoidWallet, because the backend for LndRestWallet isn’t working properly
    INFO | Connecting to backend VoidWallet…
    WARNING | This backend does nothing, it is here just as a placeholder, you must configure an actual backend…
    SUCCESS | Backend VoidWallet connected and with a balance of 0 msat.
    Result: LNbits can’t send/receive, no “+” funding button, and /admin returns 403 — all downstream of having no working funding source. The config (LndRestWallet) is correct; the macaroon at /mnt/lnd/admin.macaroon just never gets mounted.
    What I’ve tried (none fixed it):
  • Actions → Lightning Implementation → LND → Submit
  • Actions → Rebuild Service (multiple times)
  • Restarted LND, waited until fully green, THEN restarted LNbits
  • Full StartOS restart
  • Reinstalled LNbits with a fresh account
  • LNbits dependency now shows LND (satisfied) — yet /mnt/lnd/admin.macaroon still isn’t in the container
    So StartOS reports the LND dependency satisfied, but LND’s admin.macaroon is never mounted into the LNbits container, so LNbits can’t authenticate to LND.
    Question: Is this a known 0.4.0-beta mount bug between the LND and LNbits packages? Is there a way to force the macaroon mount, or manually set the LND REST endpoint + macaroon path, from the StartOS UI?

This proabably affects users who migrated from the old 0351 package (or anyone who hand-edited the macaroon path in the Admin UI).

Workaround

In LNbits, log in as super user → Admin UI → Funding source, set:

  • Endpoint: https://lnd.startos:8080/
  • Macaroon: /mnt/lnd/data/chain/bitcoin/mainnet/admin.macaroon
  • Cert: /mnt/lnd/tls.cert

Save, then restart LNbits. (Switching the Lightning Implementation action to the other backend and back would also work, because that action deletes the DB when the selection changes — forcing a re-seed — but that nukes all their LNbits accounts/wallets.)

1 Like

Thank you — this was it. I went with your second option (switching the Lightning Implementation backend and back to force the re-seed). My LNbits had no funds or wallets worth keeping yet, so nuking the DB was no loss. After the switch + restart, the log finally showed:

Backend LndRestWallet connected and with a balance....

Huge relief after a few days on this — you nailed the diagnosis. It was exactly a migrated 0.3.5.1 install pointing at the stale macaroon path.

Still sorting out the public/clearnet side for my use case, but the node ↔ LNbits connection is rock solid now. Really appreciate you taking the time — thank you!