Dorian 30164fd12a feat: bitcoin-ui CSS fix, HTTPS proxy support, deploy script improvements
Bitcoin UI:
- Replace cdn.tailwindcss.com with locally bundled tailwind.css (CSP blocks external scripts)
- Make all asset paths relative for nginx proxy compatibility
- Add bitcoin-ui build/deploy to deploy-to-target.sh (was missing entirely)
- Use --network host (bitcoin-ui proxies Bitcoin RPC at 127.0.0.1:8332)

HTTPS mixed content fix:
- Add HTTPS_PROXY_PATHS in AppSession.vue — when parent page is HTTPS,
  iframe loads through nginx proxy instead of direct HTTP port
- Prevents browser blocking HTTP iframes inside HTTPS pages
- All Tailscale servers use HTTPS, this was breaking all app iframes

Deploy & first-boot improvements:
- first-boot-containers.sh auto-detects disk size for pruning vs txindex
- first-boot-containers.sh checks fallback source path for UI containers
- Added mempool-electrs to APP_PORTS mapping
- ElectrumX container creation in first-boot
- Podman doctor/fix/uptime skills added

Also includes: session persistence, identity management, LND transactions,
ElectrumX status UI, nostr-provider improvements, Web5 enhancements

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-16 12:58:35 +00:00

2.5 KiB

Common Podman Failure Patterns

Container Won't Start

Error Cause Fix
exec format error Binary built on wrong arch Rebuild on the Linux server
address already in use Port conflict ss -tlnp | grep :PORT to find offender
permission denied Missing capability or read-only root Check get_app_capabilities(), add tmpfs
OCI runtime error Corrupt container state podman rm -f NAME && recreate
image not known Image not pulled podman pull IMAGE:TAG
no such network Network missing podman network create archy-net

Container Starts But App Unreachable

Symptom Check Layer Fix
Direct port works, /app/ doesn't Nginx config Add /app/{id}/ location block
Neither works Podman ports podman port NAME — verify mapping exists
Port mapped but refused Container logs App crashing internally — check logs
Works sometimes Resources Check OOM kills, CPU, disk space
502 Bad Gateway Nginx→Container Wrong port in proxy_pass or container restarted

Container Keeps Dying

Pattern Cause Fix
Exits immediately (code 1) Config error Check podman logs NAME
Dies after minutes OOM killed Increase --memory limit
Dies when dep restarts No restart policy Add --restart unless-stopped
Crash loop Repeated crash Fix root cause, don't just restart

Network Issues

Problem Cause Fix
Can't resolve container names Not on archy-net Recreate with --network=archy-net
Can't reach internet DNS missing Add --dns 1.1.1.1
Container-to-container timeout Different networks Put both on same network

Capability Reference

Capability Apps That Need It Failure Mode
CHOWN nextcloud, homeassistant, btcpay, jellyfin, portainer Can't chown during setup
SETUID/SETGID nextcloud, homeassistant, btcpay, jellyfin Can't switch to service user
DAC_OVERRIDE nextcloud, homeassistant, btcpay Can't access cross-UID files
FOWNER bitcoin-knots, lnd, fedimint Can't modify data dir perms
NET_BIND_SERVICE nginx-proxy-manager, vaultwarden Can't bind ports <1024

Read-Only Safe Apps

Only these 8 apps can run with --read-only: searxng, grafana, filebrowser, electrs, nostr-rs-relay, ollama, indeedhub

All others need writable root or will fail silently.