- Organized 252 files across project - Root directory: 187 → 2 files (98.9% reduction) - Moved configuration guides to docs/04-configuration/ - Moved troubleshooting guides to docs/09-troubleshooting/ - Moved quick start guides to docs/01-getting-started/ - Moved reports to reports/ directory - Archived temporary files - Generated comprehensive reports and documentation - Created maintenance scripts and guides All files organized according to established standards.
5.7 KiB
ThirdWeb RPC (VMID 2400) - Cloudflare Tunnel Quick Start
Status: Ready to Execute
VMID: 2400
IP: 192.168.11.240
Domain: defi-oracle.io
FQDN: rpc.public-0138.defi-oracle.io
Overview
This guide will set up a Cloudflare tunnel for VMID 2400 (ThirdWeb RPC node) since we can't access pve2 where the existing tunnel is located.
Step 1: Create Cloudflare Tunnel (Manual - Cloudflare Dashboard)
1.1 Go to Cloudflare Dashboard
- Open: https://one.dash.cloudflare.com/
- Login to your Cloudflare account
1.2 Navigate to Tunnels
- Click on Zero Trust (in the left sidebar)
- Click on Networks → Tunnels
1.3 Create New Tunnel
- Click Create a tunnel button (top right)
- Select Cloudflared as the connector type
- Name:
thirdweb-rpc-2400 - Click Save tunnel
1.4 Copy the Tunnel Token
After creating the tunnel, you'll see a screen with a token. It looks like:
eyJhIjoiNTJhZDU3YTcxNjcxYzVmYzAwOWVkZjA3NDQ2NTgxOTYiLCJ0Ijoi...
IMPORTANT: Copy this entire token - you'll need it in the next step.
Step 2: Run the Installation Script (Automated)
2.1 Run the Script
cd /home/intlc/projects/proxmox
# Replace <TUNNEL_TOKEN> with the token you copied from Step 1.4
./scripts/setup-cloudflared-vmid2400.sh <TUNNEL_TOKEN>
Example:
./scripts/setup-cloudflared-vmid2400.sh eyJhIjoiNTJhZDU3YTcxNjcxYzVmYzAwOWVkZjA3NDQ2NTgxOTYiLCJ0Ijoi...
The script will:
- ✅ Check SSH access to Proxmox host (192.168.11.10)
- ✅ Verify VMID 2400 is running
- ✅ Install cloudflared in the container
- ✅ Install and start the tunnel service
- ✅ Verify the setup
Step 3: Configure Tunnel Route (Manual - Cloudflare Dashboard)
3.1 Go Back to Tunnel Configuration
- In Cloudflare Dashboard: Zero Trust → Networks → Tunnels
- Click on your tunnel name:
thirdweb-rpc-2400 - Click Configure button
3.2 Add Public Hostname
- Go to Public Hostname tab
- Click Add a public hostname
3.3 Configure the Route
Fill in the following:
Subdomain: rpc.public-0138
Domain: defi-oracle.io
Service Type: HTTP
URL: http://127.0.0.1:8545
Important Notes:
- The subdomain is
rpc.public-0138(not justrpc) - The full domain will be:
rpc.public-0138.defi-oracle.io - Use
http://127.0.0.1:8545to connect directly to Besu RPC - If you have Nginx on port 443, use
https://127.0.0.1:443instead
3.4 Save Configuration
- Click Save hostname
- Wait a few seconds for the configuration to apply
Step 4: Configure DNS Record (Manual - Cloudflare Dashboard)
4.1 Navigate to DNS
- In Cloudflare Dashboard, go to your account overview
- Select domain: defi-oracle.io
- Click DNS in the left sidebar
- Click Records
4.2 Add CNAME Record
-
Click Add record
-
Fill in:
Type: CNAME Name: rpc.public-0138 Target: <your-tunnel-id>.cfargotunnel.com Proxy: 🟠 Proxied (orange cloud) TTL: Auto -
To find your tunnel ID:
- Go back to Zero Trust → Networks → Tunnels
- Click on your tunnel:
thirdweb-rpc-2400 - The tunnel ID is shown in the URL or in the tunnel details
- Format:
xxxx-xxxx-xxxx-xxxx(UUID format)
4.3 Save DNS Record
- Click Save
- Wait 1-2 minutes for DNS propagation
Step 5: Verify Setup
5.1 Check Tunnel Status
# From your local machine, check if the tunnel is running
ssh root@192.168.11.10 "pct exec 2400 -- systemctl status cloudflared"
5.2 Test DNS Resolution
# Test DNS resolution
dig rpc.public-0138.defi-oracle.io
nslookup rpc.public-0138.defi-oracle.io
# Should resolve to Cloudflare IPs (if proxied) or tunnel endpoint
5.3 Test RPC Endpoint
# Test HTTP RPC endpoint
curl -k https://rpc.public-0138.defi-oracle.io \
-X POST \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}'
# Expected: JSON response with block number
5.4 Verify in Cloudflare Dashboard
- Go to Zero Trust → Networks → Tunnels
- Click on
thirdweb-rpc-2400 - Status should show Healthy (green)
- You should see the hostname
rpc.public-0138.defi-oracle.iolisted
Troubleshooting
Tunnel Not Connecting
# Check cloudflared logs inside the container
ssh root@192.168.11.10 "pct exec 2400 -- journalctl -u cloudflared -f"
# Check if service is running
ssh root@192.168.11.10 "pct exec 2400 -- systemctl status cloudflared"
DNS Not Resolving
- Wait a few more minutes for DNS propagation
- Verify the CNAME target matches your tunnel ID
- Check that the tunnel is healthy in Cloudflare Dashboard
Connection Refused
# Verify Besu RPC is running
ssh root@192.168.11.10 "pct exec 2400 -- systemctl status besu-rpc"
# Test Besu RPC locally
ssh root@192.168.11.10 "pct exec 2400 -- curl -X POST http://127.0.0.1:8545 \
-H 'Content-Type: application/json' \
-d '{\"jsonrpc\":\"2.0\",\"method\":\"eth_blockNumber\",\"params\":[],\"id\":1}'"
Summary
After completing all steps:
✅ Cloudflare tunnel created
✅ Cloudflared installed on VMID 2400
✅ Tunnel service running and connected
✅ Tunnel route configured for rpc.public-0138.defi-oracle.io
✅ DNS CNAME record created
✅ RPC endpoint accessible at https://rpc.public-0138.defi-oracle.io
Next Steps:
- Update Thirdweb listing with the new RPC URL
- Test with Thirdweb SDK
- Monitor tunnel status
Quick Reference
Script Location: scripts/setup-cloudflared-vmid2400.sh
Documentation: docs/04-configuration/THIRDWEB_RPC_CLOUDFLARE_SETUP.md
VMID: 2400
IP: 192.168.11.240
FQDN: rpc.public-0138.defi-oracle.io