Archipelago Canonical Port Map
All port assignments across the 4 configuration layers. When adding or debugging an app, every row must be consistent across all columns.
Bitcoin Stack
| App |
Host Port(s) |
Container Port(s) |
Network |
Nginx Path |
Frontend Map |
| bitcoin-knots |
8332, 8333 |
8332, 8333 |
archy-net |
/app/bitcoin-knots/ |
8332→bitcoin-knots |
| bitcoin-ui |
8334 |
80 |
bridge |
/app/bitcoin-ui/ |
8334→bitcoin-knots |
| electrs |
50001 |
50001 |
archy-net |
/app/electrs/ |
50001→electrs |
| lnd |
9735, 10009, 8080 |
9735, 10009, 8080 |
archy-net |
/app/lnd/ |
10009→lnd |
| lnd-ui (RTL) |
8081 |
80 |
bridge |
/app/lnd-ui/ |
8081→lnd |
Lightning & Payment
| App |
Host Port(s) |
Container Port(s) |
Network |
Nginx Path |
Frontend Map |
| btcpay-server |
23000 |
49392 |
archy-net |
/app/btcpay/ |
23000→btcpay-server |
| nbxplorer |
24444 |
32838 |
archy-net |
N/A (internal) |
N/A |
| fedimint |
8173, 8174, 8175 |
8173, 8174, 8175 |
archy-net |
/app/fedimint/ |
8174→fedimint |
| fedimint-gateway |
8175 |
8175 |
archy-net |
/app/fedimint-gateway/ |
8175→fedimint-gateway |
Explorer & Monitoring
| App |
Host Port(s) |
Container Port(s) |
Network |
Nginx Path |
Frontend Map |
| mempool |
4080 |
8080 |
archy-net |
/app/mempool/ |
4080→mempool |
| grafana |
3000 |
3000 |
bridge |
/app/grafana/ |
3000→grafana (new tab) |
Self-Hosted Apps
| App |
Host Port(s) |
Container Port(s) |
Network |
Nginx Path |
Frontend Map |
| nextcloud |
8085 |
80 |
bridge |
/app/nextcloud/ |
8085→nextcloud |
| vaultwarden |
8082 |
80 |
bridge |
/app/vaultwarden/ |
8082→vaultwarden (new tab) |
| filebrowser |
8083 |
80 |
bridge |
/app/filebrowser/ |
8083→filebrowser |
| searxng |
8888 |
8080 |
bridge |
/app/searxng/ |
8888→searxng |
| photoprism |
2342 |
2342 |
bridge |
/app/photoprism/ |
2342→photoprism (new tab) |
| jellyfin |
8096 |
8096 |
bridge |
/app/jellyfin/ |
8096→jellyfin |
| homeassistant |
8123 |
8123 |
bridge |
/app/homeassistant/ |
8123→homeassistant (new tab) |
| ollama |
11434 |
11434 |
archy-net |
/app/ollama/ |
11434→ollama |
| open-webui |
3080 |
8080 |
archy-net |
/app/open-webui/ |
3080→open-webui |
Nostr & Social
| App |
Host Port(s) |
Container Port(s) |
Network |
Nginx Path |
Frontend Map |
| nostr-rs-relay |
7000 |
8080 |
archy-net |
/app/nostr-rs-relay/ |
7000→nostr-rs-relay |
| indeedhub |
3001 |
3000 |
archy-net |
/app/indeedhub/ |
3001→indeedhub |
System
| App |
Host Port(s) |
Container Port(s) |
Network |
Nginx Path |
Frontend Map |
| tailscale |
8240 |
8240 |
host |
/app/tailscale/ |
N/A |
| nginx-proxy-manager |
81, 8443 |
81, 443 |
bridge |
N/A |
81→nginx-proxy-manager |
Multi-Container Stacks
Immich: immich-server (2283), immich-postgres (internal 5432), immich-redis (internal 6379) — all on immich-net
Penpot: penpot-frontend (9001→80), penpot-backend, penpot-exporter, penpot-postgres, penpot-mailcatch — all on penpot-net
Mempool: mempool (4080→8080), mempool-db (internal 3306) — on archy-net
BTCPay: btcpay-server (23000→49392), nbxplorer (24444→32838), btcpay-postgres (internal 5432) — on archy-net
Key Notes
- archy-net apps resolve each other by container name (e.g.,
bitcoin-knots:8332)
- bridge apps are standalone — access services via host IP/port
- host network (tailscale only) — shares host namespace, no port mapping
- New tab apps: btcpay (23000), grafana (3000), vaultwarden (8082), photoprism (2342), homeassistant (8123) — X-Frame-Options blocks iframe