fix: container orchestration stability, AIUI inclusion, lnd-ui port, version 1.3.0
Container stability: - Merge scan results instead of full replacement (prevents UI flapping) - Absence threshold: 3 consecutive missed scans before removing from state - container-list RPC uses cached scanner state for consistency - Increased Podman API timeout 30s → 60s (scanner + health monitor) - Keep crashed containers visible as "exited" instead of podman rm -f - Resolve host-gateway IP via ip route (podman 4.3.x compatibility) ISO build fixes: - AIUI web app inclusion: searches 5 paths + CI step to copy from build server - Claude API proxy: systemctl enable with symlink fallback - AIUI nginx: try_files =404 (was /aiui/index.html redirect loop) - Build version set to 1.3.0 Container fixes: - lnd-ui: nginx listens on 8080 (was 80, Permission denied in rootless) - first-boot: image-versions.sh sourced from correct path with validation - first-boot: host-gateway resolved to actual gateway IP Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -65,8 +65,8 @@ else
|
||||
fi
|
||||
echo "$BUILD_NUM" | sudo tee "$BUILD_COUNTER_FILE" > /dev/null 2>/dev/null || BUILD_NUM=1
|
||||
GIT_SHORT=$(cd "$SCRIPT_DIR/.." && git rev-parse --short HEAD 2>/dev/null || echo "dev")
|
||||
# Version format: 0.1.0-beta.BUILD_NUM (semver pre-release)
|
||||
BUILD_VERSION="0.1.0-beta.${BUILD_NUM}"
|
||||
# Version format: major.minor.patch (semver)
|
||||
BUILD_VERSION="1.3.0"
|
||||
echo "Build #${BUILD_NUM} (${BUILD_VERSION}, commit ${GIT_SHORT})"
|
||||
|
||||
# Architecture-dependent variables
|
||||
@@ -972,6 +972,30 @@ if [ "$WEBUI_CAPTURED" = "0" ]; then
|
||||
cd "$SCRIPT_DIR"
|
||||
fi
|
||||
|
||||
# Include AIUI web app (Claude chat interface)
|
||||
AIUI_INCLUDED=0
|
||||
# Search multiple locations for a pre-built AIUI app
|
||||
for AIUI_DIR in \
|
||||
"$SCRIPT_DIR/../../AIUI/packages/app/dist" \
|
||||
"$HOME/AIUI/packages/app/dist" \
|
||||
"/home/archipelago/AIUI/packages/app/dist" \
|
||||
"/opt/archipelago/web-ui/aiui" \
|
||||
"/home/archipelago/archy/AIUI/packages/app/dist"; do
|
||||
if [ -d "$AIUI_DIR" ] && [ -f "$AIUI_DIR/index.html" ]; then
|
||||
echo " Including AIUI from $AIUI_DIR..."
|
||||
mkdir -p "$ARCH_DIR/web-ui/aiui"
|
||||
cp -r "$AIUI_DIR/"* "$ARCH_DIR/web-ui/aiui/"
|
||||
echo " ✅ AIUI included ($(du -sh "$ARCH_DIR/web-ui/aiui" | cut -f1))"
|
||||
AIUI_INCLUDED=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ "$AIUI_INCLUDED" = "0" ]; then
|
||||
echo " ⚠️ AIUI not found — build it first:"
|
||||
echo " cd ~/AIUI/packages/app && VITE_BASE_PATH=/aiui/ npx vite build"
|
||||
echo " Searched: ~/AIUI, /home/archipelago/AIUI, /opt/archipelago/web-ui/aiui"
|
||||
fi
|
||||
|
||||
# Copy app manifests
|
||||
if [ -d "$SCRIPT_DIR/../apps" ]; then
|
||||
echo " Including app manifests..."
|
||||
@@ -2560,6 +2584,9 @@ chroot /mnt/target systemctl enable archipelago-load-images.service 2>/dev/null
|
||||
chroot /mnt/target systemctl enable archipelago-setup-tor.service 2>/dev/null || true
|
||||
chroot /mnt/target systemctl enable archipelago-first-boot-containers.service 2>/dev/null || true
|
||||
chroot /mnt/target systemctl enable archipelago-kiosk.service 2>/dev/null || true
|
||||
# Enable claude-api-proxy (create symlink manually — chroot systemctl can fail)
|
||||
chroot /mnt/target systemctl enable claude-api-proxy.service 2>/dev/null || \
|
||||
ln -sf /etc/systemd/system/claude-api-proxy.service /mnt/target/etc/systemd/system/multi-user.target.wants/claude-api-proxy.service 2>/dev/null || true
|
||||
|
||||
# Fix console-setup: setupcon needs /tmp writable, add ordering dependency
|
||||
mkdir -p /mnt/target/etc/systemd/system/console-setup.service.d
|
||||
|
||||
@@ -25,7 +25,7 @@ server {
|
||||
location /aiui/ {
|
||||
alias /opt/archipelago/web-ui/aiui/;
|
||||
index index.html;
|
||||
try_files $uri $uri/ /aiui/index.html;
|
||||
try_files $uri $uri/ =404;
|
||||
add_header Cache-Control "no-cache, no-store, must-revalidate";
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user