diff --git a/core/archipelago/src/electrs_status.rs b/core/archipelago/src/electrs_status.rs index 6f3dad7f..105560e2 100644 --- a/core/archipelago/src/electrs_status.rs +++ b/core/archipelago/src/electrs_status.rs @@ -174,7 +174,8 @@ pub async fn get_electrs_sync_status() -> ElectrsSyncStatus { Ok(Err(e)) => { // ElectrumX may not be ready on 50001 during initial sync let err_msg = e.to_string(); - let (status, error) = if err_msg.contains("connect") || err_msg.contains("Connection refused") { + let err_lower = err_msg.to_lowercase(); + let (status, error) = if err_lower.contains("connect") || err_lower.contains("reset") || err_lower.contains("refused") { // Estimate progress from data directory size let _est_pct = if data_bytes > 0 { ((data_bytes as f64 / ESTIMATED_FULL_INDEX_BYTES) * 100.0).min(99.0) diff --git a/scripts/deploy-to-target.sh b/scripts/deploy-to-target.sh index f86aa08f..132bf941 100755 --- a/scripts/deploy-to-target.sh +++ b/scripts/deploy-to-target.sh @@ -643,6 +643,21 @@ PYEOF # Create data directories for DWN, content sharing, federation, identities progress "Creating data directories" ssh $SSH_OPTS "$TARGET_HOST" ' + # Rootless podman: allow binding to ports >= 80 (default is 1024) + if ! grep -q "unprivileged_port_start=80" /etc/sysctl.d/99-rootless-podman.conf 2>/dev/null; then + echo "net.ipv4.ip_unprivileged_port_start=80" | sudo tee /etc/sysctl.d/99-rootless-podman.conf > /dev/null + sudo sysctl -p /etc/sysctl.d/99-rootless-podman.conf 2>/dev/null + echo " Rootless port binding enabled (>=80)" + fi + # Rootless podman: enable lingering for container persistence + if [ "$(loginctl show-user archipelago 2>/dev/null | grep Linger)" != "Linger=yes" ]; then + sudo loginctl enable-linger archipelago + echo " Linger enabled for archipelago user" + fi + # Rootless podman: enable podman socket + systemctl --user enable podman.socket 2>/dev/null || true + systemctl --user start podman.socket 2>/dev/null || true + sudo mkdir -p /var/lib/archipelago/dwn/messages sudo mkdir -p /var/lib/archipelago/dwn/protocols sudo mkdir -p /var/lib/archipelago/content/files