Files
Dorian ed3df0728f
All checks were successful
Build Archipelago ISO (dev) / build-iso (push) Successful in 15m54s
fix: container stack installers, DNS resolution, uninstall cleanup
- Replace aardvark-dns container names with host.containers.internal
  for all cross-app connections (LND→Bitcoin, ElectrumX→Bitcoin,
  Mempool→ElectrumX, Fedimint→Bitcoin, NBXplorer→Bitcoin P2P+RPC)
- Add BTCPay multi-container stack installer (postgres + nbxplorer +
  btcpay-server) with proper secrets, data dir ownership, NOAUTH
- Add Mempool multi-container stack installer (mariadb + mempool-api +
  mempool-frontend) with host.containers.internal for RPC
- Immediately remove apps from state on uninstall (no 3-min ghost delay)
- Include archy-bitcoin-ui in bitcoin uninstall container list
- Fix LND UI port 8081 (was 8080, conflicting with LND gRPC)
- Fix ElectrumX UI: proxy /electrs-status to backend, cache-busting
  headers, graceful fallback when backend returns HTML
- Add Tor hidden services for ElectrumX and LND in torrc template
- Remove unused detect_bitcoin_container_name() (replaced by
  host.containers.internal)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 23:29:50 +02:00
..

Archipelago Tor Integration

Each service gets its own .onion address. Tor runs in a container with host networking so it can reach host-mapped ports.

Service → Onion mapping

Service LAN Port Tor Hidden Service Dir
Archipelago 80 hidden_service_archipelago
LND UI 8081 hidden_service_lnd
BTCPay 23000 hidden_service_btcpay
Mempool 4080 hidden_service_mempool
Fedimint 8175 hidden_service_fedimint

Hostname files

After Tor starts, each service's .onion address is written to: /var/lib/archipelago/tor/hidden_service_<name>/hostname

The backend reads these to expose Tor addresses in the package API.