From 7d35827acba4242b36444fd5a999a85cc1d3477c Mon Sep 17 00:00:00 2001 From: Dorian Date: Tue, 31 Mar 2026 03:48:22 +0100 Subject: [PATCH] fix: inject Bitcoin RPC auth into bitcoin-ui before build in first-boot The bitcoin-ui nginx proxy needs Basic Auth to talk to Bitcoin Core RPC. The __BITCOIN_RPC_AUTH__ placeholder was not being replaced, causing a browser login prompt. Now injects creds from secrets dir before build. Co-Authored-By: Claude Opus 4.6 (1M context) --- scripts/first-boot-containers.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/scripts/first-boot-containers.sh b/scripts/first-boot-containers.sh index b020a5d7..2aeab34e 100644 --- a/scripts/first-boot-containers.sh +++ b/scripts/first-boot-containers.sh @@ -836,6 +836,21 @@ fi # 9. Custom UI containers (bitcoin-ui, lnd-ui) # These are built from Dockerfiles in /opt/archipelago/docker/ or loaded from pre-built images. + +# Inject Bitcoin RPC auth into bitcoin-ui nginx.conf BEFORE building +RPC_USER="archipelago" +RPC_PASS_FILE="/var/lib/archipelago/secrets/bitcoin-rpc-password" +if [ -f "$RPC_PASS_FILE" ]; then + RPC_PASS=$(cat "$RPC_PASS_FILE") + AUTH_B64=$(echo -n "${RPC_USER}:${RPC_PASS}" | base64) + for ui_dir in /opt/archipelago/docker/bitcoin-ui /home/archipelago/archy/docker/bitcoin-ui; do + if [ -f "$ui_dir/nginx.conf" ]; then + sed -i "s|__BITCOIN_RPC_AUTH__|${AUTH_B64}|g" "$ui_dir/nginx.conf" + log "Injected Bitcoin RPC auth into $ui_dir/nginx.conf" + fi + done +fi + for ui in bitcoin-ui lnd-ui; do if $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -q "$ui"; then continue