Some checks failed
Deploy to Phoenix / deploy (push) Has been cancelled
- ADD_CHAIN138_TO_LEDGER_LIVE: Ledger form done; public code review repo bis-innovations/LedgerLive; init/push commands - CONTRACT_DEPLOYMENT_RUNBOOK: Chain 138 gas price 1 gwei, 36-addr check, TransactionMirror workaround - CONTRACT_*: AddressMapper, MirrorManager deployed 2026-02-12; 36-address on-chain check - NEXT_STEPS_FOR_YOU: Ledger done; steps completable now (no LAN); run-completable-tasks-from-anywhere - MASTER_INDEX, OPERATOR_OPTIONAL, SMART_CONTRACTS_INVENTORY_SIMPLE: updates - LEDGER_BLOCKCHAIN_INTEGRATION_COMPLETE: bis-innovations/LedgerLive reference Co-authored-by: Cursor <cursoragent@cursor.com>
6.0 KiB
6.0 KiB
NPMplus for Alltra and HYBX — Master Plan
Last Updated: 2026-02-06
Document Version: 1.0
Status: Active Documentation
Related: NETWORK_CONFIGURATION_MASTER.md, TUNNEL_ALLTRA_HYBX_INSTALL.md
1. Architecture Overview
Internet
↓
Cloudflare DNS (CNAME to tunnel) or Direct (76.53.10.38 / 76.53.10.42)
↓
Cloudflare Tunnel (Option B) or UDM Pro Port Forward (76.53.10.38:80/81/443)
↓
NPMplus Alltra/HYBX (VMID 10235: 192.168.11.169:80/81/443)
↓
Alltra + HYBX Backends (Sentry, RPC, Cacti, Firefly, Fabric, Indy)
Traffic paths:
- Primary (Option B): Internet → Cloudflare DNS (CNAME to tunnel) → cloudflared connector → NPMplus 192.168.11.169:443 → Alltra/HYBX and Nathan's rpc-core-2 backends
- Direct/Management: Internet or LAN → 76.53.10.38:80/81/443 → NPMplus 192.168.11.169
Note: This is the third of four NPMplus instances (one per public IP .36–.39). See NPMPLUS_FOUR_INSTANCES_MASTER.md.
2. IP and Port Assignments
| Resource | Value | Purpose |
|---|---|---|
| Public IP (designated) | 76.53.10.42 | Primary public IP for Alltra/HYBX NPMplus (DNS A records if using direct) |
| Port-forward source | 76.53.10.38 | UDM Pro port forwarding: 80, 81, 443 → 192.168.11.169 |
| Internal IP | 192.168.11.169 | New NPMplus container (single NIC) |
| VMID | 10235 | NPMplus for Alltra/HYBX (10233 = primary, 10234 = HA secondary) |
| Host | r630-01 (192.168.11.11) | Same Proxmox host as existing NPMplus |
Port forwarding (UDM Pro):
| Public | Internal | Protocol |
|---|---|---|
| 76.53.10.38:80 | 192.168.11.169:80 | TCP (HTTP) |
| 76.53.10.38:81 | 192.168.11.169:81 | TCP (NPMplus Admin UI) |
| 76.53.10.38:443 | 192.168.11.169:443 | TCP (HTTPS) |
3. Backend Services (Alltra and HYBX)
| Network | Service | VMIDs | IPs |
|---|---|---|---|
| ALLTRA | Sentries | 1505-1506 | 192.168.11.170-171 |
| RPC | 2500-2502 | 192.168.11.172-174 | |
| Firefly | 6202-6203 | 192.168.11.175-176 | |
| Cacti | 5201 | 192.168.11.177 | |
| Fabric | 6001 | 192.168.11.178 | |
| Indy | 6401 | 192.168.11.179 | |
| HYBX | Sentries | 1507-1508 | 192.168.11.244-245 |
| RPC | 2503-2505 | 192.168.11.246-248 | |
| Firefly | 6204-6205 | 192.168.11.249-250 | |
| Cacti | 5202 | 192.168.11.251 | |
| Fabric | 6002 | 192.168.11.252 | |
| Indy | 6402 | 192.168.11.253 |
4. Cloudflare Tunnel (Option B) Setup
See TUNNEL_ALLTRA_HYBX_INSTALL.md for connector install steps.
- New tunnel: Create
alltra-hybx-npmplusin Cloudflare Zero Trust - Tunnel URL:
https://192.168.11.169:443(No TLS Verify) - DNS: CNAME Alltra/HYBX hostnames →
<tunnel-id>.cfargotunnel.com(Proxied)
5. NPMplus Container
- VMID: 10235
- Template: Debian 12 LXC (same as primary NPMplus)
- Resources: 2 CPU, 2 GB RAM
- Network: Single NIC,
ip=192.168.11.169/24,gw=192.168.11.1 - Admin UI: https://192.168.11.169:81
6. NPMplus Proxy Hosts (Alltra/HYBX + Nathan core-2)
| Domain (example) | Backend | Port |
|---|---|---|
rpc-core-2.d-bis.org |
192.168.11.212 (Nathan RPC, VMID 2102) | 8545 |
rpc-alltra.* |
192.168.11.172:8545 (and .173, .174) | 8545 |
rpc-hybx.* |
192.168.11.246:8545 (and .247, .248) | 8545 |
cacti-alltra.* |
192.168.11.177:80 | 80 |
cacti-hybx.* |
192.168.11.251:80 | 80 |
firefly-alltra-1.d-bis.org, firefly-alltra-2.d-bis.org |
192.168.11.175, .176 | 80 (script adds; add tunnel route + DNS) |
firefly-hybx-1.d-bis.org, firefly-hybx-2.d-bis.org |
192.168.11.249, .250 | 80 |
fabric-alltra.d-bis.org, indy-alltra.d-bis.org |
192.168.11.178, .179 | 80 (adjust in NPM if different) |
fabric-hybx.d-bis.org, indy-hybx.d-bis.org |
192.168.11.252, .253 | 80 |
SSL: Use Let's Encrypt (DNS Challenge + Cloudflare credentials).
7. Execution Phases
| Phase | Task | Notes |
|---|---|---|
| 1 | Update config and docs | config/ip-addresses.conf, .env.example |
| 2 | Create LXC container 10235 on r630-01 | Assign 192.168.11.169 |
| 3 | Install NPMplus (Docker + NPM) in 10235 | Follow NPMPLUS_COMPLETE_SETUP_SUMMARY |
| 4 | Configure UDM Pro port forward | 76.53.10.38:80/81/443 → 192.168.11.169 |
| 5 | Create Cloudflare Tunnel | Alltra/HYBX hostnames → https://192.168.11.169:443 |
| 6 | Add DNS CNAME or A records | Cloudflare DNS |
| 7 | Add NPMplus proxy hosts | NPMplus UI or API script |
| 8 | Request Let's Encrypt certs | NPMplus SSL Certificates |
| 9 | End-to-end verification | Tunnel and direct 76.53.10.38 |
8. Security Notes
- Port 81 (Admin UI): Exposed via 76.53.10.38:81. Restrict to VPN or IP allowlist.
- Credentials: Use separate NPM admin credentials; avoid reusing primary NPMplus.
- Cloudflare Tunnel: No inbound ports; connector is outbound-only.
10. Scripts Created
| Script | Purpose |
|---|---|
scripts/npmplus/create-npmplus-alltra-hybx-container.sh |
Create LXC 10235 |
scripts/npmplus/install-npmplus-alltra-hybx.sh |
Install NPMplus in 10235 |
scripts/nginx-proxy-manager/update-npmplus-alltra-hybx-proxy-hosts.sh |
Add proxy hosts via API |
scripts/verify/verify-npmplus-alltra-hybx.sh |
Verify connectivity |
11. Reference: NPMplus Comparison
| Property | Primary NPMplus (10233) | Alltra/HYBX NPMplus (10235) |
|---|---|---|
| Internal IP | 192.168.11.166, .167 | 192.168.11.169 |
| Public port forward | 76.53.10.36:80/443 | 76.53.10.38:80/81/443 |
| Designated public IP | 76.53.10.36 | 76.53.10.42 |
| Tunnel target | https://192.168.11.167:443 | https://192.168.11.169:443 |
| Host | r630-01 | r630-01 |
| Backends | d-bis.org, mim4u.org, Blockscout, RPC core (6 hostnames), etc. | Nathan rpc-core-2, Alltra + HYBX Sentries, RPC, Cacti, Firefly, Fabric, Indy |