fix: onboarding persistence, clipboard, install UI, OnlyOffice removal, UI containers
Onboarding: - Persist current step in localStorage — page refresh resumes where user was - Router afterEach saves step; guard redirects to saved step, not always intro - Show npub alongside DID on restore success screen UI fixes: - Clipboard polyfill for HTTP contexts (fixes Copy DID crash on non-HTTPS) - AppCard installing overlay shows for pkg.state=installing (survives refresh) - Hide uninstall button during installation - Frontend version bumped to 1.3.2 App store: - OnlyOffice fully removed from marketplace, curated apps, app config - Replaced with CryptPad references throughout - Remove OnlyOffice from ISO capture patterns Container stability: - UI containers (bitcoin-ui, lnd-ui, electrs-ui) pull from registry first - Added --cap-add FOWNER for rootless Podman compatibility - electrs-ui now included in first-boot loop alongside bitcoin-ui and lnd-ui Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1092,41 +1092,35 @@ if [ -f "$RPC_PASS_FILE" ]; then
|
||||
done
|
||||
fi
|
||||
|
||||
for ui in bitcoin-ui lnd-ui; do
|
||||
for ui in bitcoin-ui lnd-ui electrs-ui; do
|
||||
if $DOCKER ps --format '{{.Names}}' 2>/dev/null | grep -q "$ui"; then
|
||||
continue
|
||||
fi
|
||||
case $ui in
|
||||
# UI containers use --network host so they can proxy to localhost services
|
||||
# (Bitcoin RPC at 127.0.0.1:8332, backend at 127.0.0.1:5678)
|
||||
# Internal nginx ports: bitcoin-ui=8334, electrs-ui=50002, lnd-ui=8080 (host 8081)
|
||||
bitcoin-ui) PORT_ARG=""; NET_ARG="--network host" ;;
|
||||
lnd-ui) PORT_ARG="-p 8081:8080"; NET_ARG="" ;; # nginx inside listens on 8080 (no NET_BIND_SERVICE needed)
|
||||
electrs-ui) PORT_ARG=""; NET_ARG="--network host" ;;
|
||||
bitcoin-ui) PORT_ARG=""; NET_ARG="--network host"; REG_IMG="${BITCOIN_UI_IMAGE}" ;;
|
||||
lnd-ui) PORT_ARG="-p 8081:8080"; NET_ARG=""; REG_IMG="${LND_UI_IMAGE}" ;;
|
||||
electrs-ui) PORT_ARG=""; NET_ARG="--network host"; REG_IMG="${ELECTRS_UI_IMAGE}" ;;
|
||||
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..."
|
||||
UI_CAPS="--user 0:0 --cap-drop ALL --cap-add CHOWN --cap-add FOWNER --cap-add SETUID --cap-add SETGID --cap-add DAC_OVERRIDE"
|
||||
|
||||
# Try registry image first, then local image, then build from source
|
||||
if [ -n "$REG_IMG" ] && $DOCKER pull --tls-verify=false "$REG_IMG" 2>>"$LOG"; then
|
||||
log "Starting $ui from registry ($REG_IMG)..."
|
||||
$DOCKER run -d --name "$CONTAINER_NAME" $PORT_ARG --restart unless-stopped --memory=$(mem_limit "$CONTAINER_NAME") $NET_ARG \
|
||||
$UI_CAPS "$REG_IMG" 2>>"$LOG" || true
|
||||
elif $DOCKER images --format '{{.Repository}}:{{.Tag}}' 2>/dev/null | grep -q "$ui"; then
|
||||
log "Starting $ui from local 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 --memory=$(mem_limit "$CONTAINER_NAME") $NET_ARG \
|
||||
--user 0:0 \
|
||||
--cap-drop ALL --cap-add CHOWN --cap-add SETUID --cap-add SETGID --cap-add DAC_OVERRIDE \
|
||||
"$IMG" 2>>"$LOG" || true
|
||||
$UI_CAPS "$IMG" 2>>"$LOG" || true
|
||||
elif [ -d "/opt/archipelago/docker/$ui" ]; then
|
||||
log "Building $ui from source (/opt/archipelago/docker/$ui)..."
|
||||
log "Building $ui from source..."
|
||||
if $DOCKER build -t "$ui:local" "/opt/archipelago/docker/$ui" 2>>"$LOG"; then
|
||||
$DOCKER run -d --name "$CONTAINER_NAME" $PORT_ARG --restart unless-stopped --memory=$(mem_limit "$CONTAINER_NAME") $NET_ARG \
|
||||
--user 0:0 \
|
||||
--cap-drop ALL --cap-add CHOWN --cap-add SETUID --cap-add SETGID --cap-add DAC_OVERRIDE \
|
||||
"$ui:local" 2>>"$LOG" || true
|
||||
fi
|
||||
elif [ -d "/home/archipelago/archy/docker/$ui" ]; then
|
||||
log "Building $ui from source (/home/archipelago/archy/docker/$ui)..."
|
||||
if $DOCKER build -t "$ui:local" "/home/archipelago/archy/docker/$ui" 2>>"$LOG"; then
|
||||
$DOCKER run -d --name "$CONTAINER_NAME" $PORT_ARG --restart unless-stopped --memory=$(mem_limit "$CONTAINER_NAME") $NET_ARG \
|
||||
--user 0:0 \
|
||||
--cap-drop ALL --cap-add CHOWN --cap-add SETUID --cap-add SETGID --cap-add DAC_OVERRIDE \
|
||||
"$ui:local" 2>>"$LOG" || true
|
||||
$UI_CAPS "$ui:local" 2>>"$LOG" || true
|
||||
fi
|
||||
else
|
||||
log "$ui: no image or source found, skipping"
|
||||
|
||||
Reference in New Issue
Block a user