- 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>
4.8 KiB
DNS Update Automation - Complete
Date: 2026-01-09
Script: scripts/update-all-dns-to-public-ip.sh
Status: ✅ Ready to Use
Summary
Created an automated script to update all Cloudflare DNS records to point to a single public IP (76.53.10.35) with DNS only mode, enabling direct NAT routing through ER605 to Nginx.
Script Features
✅ Multi-Zone Support
- Handles 4 different Cloudflare zones
- sankofa.nexus
- d-bis.org
- mim4u.org
- defi-oracle.io
✅ Smart Record Management
- Creates new records if they don't exist
- Updates existing records if they do exist
- Handles duplicate records gracefully
✅ DNS Only Mode
- Sets all records to DNS only (gray cloud)
- No Cloudflare proxy (direct IP routing)
- Enables NAT-based routing
✅ Error Handling
- Comprehensive error checking
- Detailed logging with colors
- Summary of successes and failures
✅ Flexible Authentication
- Supports API Token (recommended)
- Supports Email + API Key (alternative)
Complete Domain List (19 Records)
sankofa.nexus Zone (5 records)
sankofa.nexus- Sankofa main websitewww.sankofa.nexus- Sankofa wwwphoenix.sankofa.nexus- Phoenix websitewww.phoenix.sankofa.nexus- Phoenix wwwthe-order.sankofa.nexus- The Order portal
d-bis.org Zone (9 records)
rpc-http-pub.d-bis.org- RPC Public HTTPrpc-ws-pub.d-bis.org- RPC Public WebSocketrpc-http-prv.d-bis.org- RPC Private HTTPrpc-ws-prv.d-bis.org- RPC Private WebSocketexplorer.d-bis.org- Block Explorerdbis-admin.d-bis.org- DBIS Admindbis-api.d-bis.org- DBIS API Primarydbis-api-2.d-bis.org- DBIS API Secondarysecure.d-bis.org- DBIS Secure Portal
mim4u.org Zone (4 records)
mim4u.org- MIM4U main sitewww.mim4u.org- MIM4U wwwsecure.mim4u.org- MIM4U secure portaltraining.mim4u.org- MIM4U training portal
defi-oracle.io Zone (1 record)
rpc.public-0138.defi-oracle.io- ThirdWeb RPC
Configuration Required
.env File Variables
# Public IP (single IP for all services)
PUBLIC_IP=76.53.10.35
# Cloudflare Authentication (choose one)
CLOUDFLARE_API_TOKEN=your-token-here
# OR
CLOUDFLARE_EMAIL=your-email@example.com
CLOUDFLARE_API_KEY=your-api-key-here
# Zone IDs (get from Cloudflare Dashboard)
CLOUDFLARE_ZONE_ID_SANKOFA_NEXUS=your-zone-id
CLOUDFLARE_ZONE_ID_D_BIS_ORG=your-zone-id
CLOUDFLARE_ZONE_ID_MIM4U_ORG=your-zone-id
CLOUDFLARE_ZONE_ID_DEFI_ORACLE_IO=your-zone-id
Usage
Step 1: Configure .env
Add the required variables to your .env file (see above).
Step 2: Run Script
cd /home/intlc/projects/proxmox
./scripts/update-all-dns-to-public-ip.sh
Step 3: Verify
# Test DNS resolution
dig sankofa.nexus +short
dig secure.d-bis.org +short
dig mim4u.org +short
# All should return: 76.53.10.35
Architecture
Internet → Cloudflare DNS (DNS Only) → 76.53.10.35 → ER605 NAT → Nginx (192.168.11.26:443) → Backend Services
Key Points:
- Single public IP for all 19 domains
- DNS only mode (no Cloudflare proxy)
- ER605 NAT forwards to Nginx
- Nginx routes by hostname (SNI)
Path-Based Routing
Some services use path-based routing (handled by Nginx):
sankofa.nexus/api→ Routes to Sankofa APIphoenix.sankofa.nexus/api→ Routes to Phoenix APIsecure.d-bis.org/admin→ Routes to DBIS Adminsecure.d-bis.org/api→ Routes to DBIS APIsecure.d-bis.org/graph→ Routes to DBIS GraphQLmim4u.org/admin→ Routes to MIM4U Admin
These are handled by Nginx configuration, not DNS.
Files Created
-
Script:
scripts/update-all-dns-to-public-ip.sh- Main automation script
- Executable and ready to use
-
Example Config:
scripts/update-all-dns-to-public-ip.env.example- Template for .env configuration
- Shows all required variables
-
Documentation:
docs/04-configuration/DNS_UPDATE_SCRIPT_GUIDE.md- Complete usage guide
- Troubleshooting section
- Verification steps
-
Quick Reference:
scripts/update-all-dns-to-public-ip.README.md- Quick start guide
- Domain list summary
Next Steps
- ✅ Script created and validated
- ⏳ Add Cloudflare credentials to
.env - ⏳ Add Zone IDs to
.env - ⏳ Run script to update DNS
- ⏳ Verify DNS resolution
- ⏳ Configure ER605 NAT rules
- ⏳ Configure Nginx on VMID 105
- ⏳ Test all endpoints
Related Documentation
- Script Guide:
docs/04-configuration/DNS_UPDATE_SCRIPT_GUIDE.md - ER605 NAT Config:
docs/04-configuration/ER605_ROUTER_CONFIGURATION.md - Nginx Config:
docs/04-configuration/NGINX_CONFIGURATIONS_VMIDS_2400-2508.md - Network Architecture:
docs/02-architecture/NETWORK_ARCHITECTURE.md
Status: ✅ Script Ready - Configure and Run