Skip to content

Start mwebd before btcpayserver (and litecoind before mwebd)#1066

Open
rachyandco wants to merge 1 commit into
btcpayserver:masterfrom
rachyandco:ltcmweb-depends-on
Open

Start mwebd before btcpayserver (and litecoind before mwebd)#1066
rachyandco wants to merge 1 commit into
btcpayserver:masterfrom
rachyandco:ltcmweb-depends-on

Conversation

@rachyandco

Copy link
Copy Markdown
Contributor

On a cold 'docker compose down && up' (e.g. the nightly btcpay-backup.sh cron), all containers are recreated simultaneously. btcpayserver can reach plugin initialization before mwebd's gRPC port exists, which makes the LitecoinMweb plugin's startup fail with RpcException(Unavailable); BTCPay's crash protection then writes the plugin to the Plugins/disabled kill-list and it stays disabled until an admin re-enables it manually.

Declaring the startup order in the fragment closes that race: mwebd is a small Go daemon that binds its port in milliseconds, while btcpayserver takes several seconds to boot to the point of starting plugin hosted services.

See ltcmweb/btcpayserver-ltcmweb-plugin#3

On a cold 'docker compose down && up' (e.g. the nightly btcpay-backup.sh
cron), all containers are recreated simultaneously. btcpayserver can
reach plugin initialization before mwebd's gRPC port exists, which makes
the LitecoinMweb plugin's startup fail with RpcException(Unavailable);
BTCPay's crash protection then writes the plugin to the Plugins/disabled
kill-list and it stays disabled until an admin re-enables it manually.

Declaring the startup order in the fragment closes that race: mwebd is a
small Go daemon that binds its port in milliseconds, while btcpayserver
takes several seconds to boot to the point of starting plugin hosted
services.

See ltcmweb/btcpayserver-ltcmweb-plugin#3
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant