fix: add electrs-ui to ISO build and first-boot for flawless installs
- Add electrs-ui to ISO capture patterns (captured from live server) - Bundle nginx:alpine base image in ISO for UI container builds - Copy docker UI source files (bitcoin-ui, lnd-ui, electrs-ui) into ISO - First-boot: create electrs-ui container from pre-built image or source - First-boot: create bitcoin-ui and lnd-ui containers (same pattern) - Installer: copy docker/ source dir to target for first-boot fallback - Nginx: minor config sync from linter changes Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -94,6 +94,24 @@ if ! $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -qE 'archy-mempool-web|
|
||||
docker.io/mempool/frontend:v2.5.0 2>>"$LOG" || true
|
||||
fi
|
||||
|
||||
# 2b. Electrs UI (status dashboard on port 50002, host network for backend access)
|
||||
if ! $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -q electrs-ui; then
|
||||
if $DOCKER images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep -q 'electrs-ui'; then
|
||||
log "Starting Electrs UI from pre-built image..."
|
||||
$DOCKER run -d --name archy-electrs-ui --network host --restart unless-stopped \
|
||||
localhost/electrs-ui:latest 2>>"$LOG" || \
|
||||
$DOCKER run -d --name archy-electrs-ui --network host --restart unless-stopped \
|
||||
electrs-ui:latest 2>>"$LOG" || true
|
||||
elif [ -d /opt/archipelago/docker/electrs-ui ]; then
|
||||
log "Building and starting Electrs UI from source..."
|
||||
$DOCKER build -t electrs-ui:latest /opt/archipelago/docker/electrs-ui 2>>"$LOG" && \
|
||||
$DOCKER run -d --name archy-electrs-ui --network host --restart unless-stopped \
|
||||
electrs-ui:latest 2>>"$LOG" || true
|
||||
else
|
||||
log "Electrs UI: no image or source found, skipping"
|
||||
fi
|
||||
fi
|
||||
|
||||
# 3. BTCPay stack (matches deploy)
|
||||
if ! $DOCKER ps -a --format '{{.Names}}' 2>/dev/null | grep -qE 'archy-btcpay-db|postgres-btcpay'; then
|
||||
log "Creating PostgreSQL for BTCPay..."
|
||||
@@ -341,4 +359,27 @@ if $DOCKER images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep -q 'str
|
||||
fi
|
||||
fi
|
||||
|
||||
# 9. Custom UI containers (bitcoin-ui, lnd-ui)
|
||||
# These are built from Dockerfiles in /opt/archipelago/docker/ or loaded from pre-built images.
|
||||
for ui in bitcoin-ui lnd-ui; do
|
||||
if $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -q "$ui"; then
|
||||
continue
|
||||
fi
|
||||
case $ui in
|
||||
bitcoin-ui) PORT_ARG="-p 8334:80"; NET_ARG="" ;;
|
||||
lnd-ui) PORT_ARG="-p 8081:80"; NET_ARG="" ;;
|
||||
esac
|
||||
CONTAINER_NAME="archy-$ui"
|
||||
if $DOCKER images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep -q "$ui"; then
|
||||
log "Starting $ui from pre-built image..."
|
||||
IMG=$($DOCKER images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep "$ui" | head -1)
|
||||
$DOCKER run -d --name "$CONTAINER_NAME" $PORT_ARG --restart unless-stopped $NET_ARG "$IMG" 2>>"$LOG" || true
|
||||
elif [ -d "/opt/archipelago/docker/$ui" ]; then
|
||||
log "Building $ui from source..."
|
||||
if $DOCKER build -t "$ui:latest" "/opt/archipelago/docker/$ui" 2>>"$LOG"; then
|
||||
$DOCKER run -d --name "$CONTAINER_NAME" $PORT_ARG --restart unless-stopped $NET_ARG "$ui:latest" 2>>"$LOG" || true
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
log "First-boot container creation complete"
|
||||
|
||||
Reference in New Issue
Block a user