archy/.claude/memory/feedback_indeedhub_nginx_ips.md
Dorian d37ec1dea5 feat: v1.2.0-alpha — E2E encrypted mesh relay, steganography, relay status polling
Phase 5 mesh networking:
- E2E encrypted TX relay (X25519 + ChaCha20-Poly1305) — non-Archy nodes
  relay encrypted blobs transparently via Meshcore native routing
- Steganographic encoding modes (WeatherStation, SensorNetwork) — traffic
  looks like sensor data on the wire, 0xAA marker, configurable per-node
- Pre-flight Bitcoin Core health check on relay node — specific error codes
  (bitcoin_unreachable, bitcoin_syncing, tx_rejected) instead of generic fails
- mesh.relay-status RPC endpoint — frontend polls for relay result every 3s
- On-Chain / Lightning tabs in Off-Grid Bitcoin panel
- Archy Peers vs Mesh Broadcast relay mode selector
- Mesh view fills viewport (no page scroll), internal panel scrolling
- Version bump to 1.2.0-alpha

Also includes: deploy hardening, container fixes, IndeedHub updates,
boot screen, dashboard improvements, MASTER_PLAN task tracking

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-17 23:56:37 +00:00

1.2 KiB

name, description, type
name description type
IndeedHub nginx must use hardcoded container IPs IndeedHub's internal nginx config MUST use hardcoded container IPs, not DNS names — podman DNS resolver 127.0.0.11 is unreliable and causes 502 errors feedback

IndeedHub's internal nginx config MUST use hardcoded container IPs (e.g., http://10.89.2.11:4000) for API, MinIO, and relay upstreams — NEVER DNS names like http://api:4000 with resolver 127.0.0.11.

Why: Podman's embedded DNS resolver (127.0.0.11) is unreliable inside containers. Using DNS names with resolver 127.0.0.11 valid=30s ipv6=off; causes nginx to return 502 Bad Gateway errors. This broke IndeedHub on all Tailscale nodes — frontend loaded but API calls failed.

How to apply: After creating/recreating IndeedHub containers, the deploy script must:

  1. Look up container IPs: podman inspect indeedhub-build_api_1 --format "{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}"
  2. Patch the nginx config inside the container to replace DNS names with IPs
  3. Also patch $host$http_host in proxy_set_header Host directives
  4. Reload nginx inside the container

This is now handled in deploy-to-target.sh and fix-indeedhub-containers.sh.