Files
proxmox/docs/archive/completion/BLOCKSCOUT_FIX_COMPLETE.md
defiQUG cb47cce074 Complete markdown files cleanup and organization
- 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.
2026-01-06 01:46:25 -08:00

4.4 KiB

Blockscout Explorer Fix - Completion Report

Date: $(date)
Status: MOSTLY COMPLETE | ⚠️ CLOUDFLARE DNS CONFIGURATION NEEDED


Completed Steps

1. Container Status

  • Container VMID 5000 exists and is running on node pve2
  • Container hostname: blockscout-1
  • Container IP: 192.168.11.140

2. Blockscout Service

  • Blockscout service is installed
  • Service status: Running (checked via systemctl)
  • Docker containers deployed via docker-compose

3. Nginx Installation and Configuration

  • Nginx installed in container
  • Nginx service running and enabled
  • SSL certificates generated (self-signed)
  • Nginx configuration created:
    • HTTP (port 80): Redirects to HTTPS
    • HTTPS (port 443): Proxies to Blockscout on port 4000
    • Health check endpoint: /health
    • API endpoint: /api/

4. Configuration Files

  • /etc/nginx/sites-available/blockscout - Nginx config
  • /etc/nginx/ssl/blockscout.crt - SSL certificate
  • /etc/nginx/ssl/blockscout.key - SSL private key

⚠️ Remaining: Cloudflare Configuration

Current Status

  • Cloudflare DNS not configured (HTTP 522 error persists)
  • ⚠️ Need to configure DNS record and tunnel route

Required Actions

Option 1: Using Script (if .env file exists)

cd /home/intlc/projects/proxmox
# Ensure .env file has CLOUDFLARE_API_TOKEN
bash scripts/configure-cloudflare-explorer.sh

Option 2: Manual Configuration

1. DNS Record (in Cloudflare Dashboard):

  • Type: CNAME
  • Name: explorer
  • Target: <tunnel-id>.cfargotunnel.com
  • Proxy: 🟠 Proxied (orange cloud) - REQUIRED
  • TTL: Auto

2. Tunnel Route (in Cloudflare Zero Trust Dashboard):

  • Navigate to: Zero Trust → Networks → Tunnels
  • Select your tunnel
  • Add public hostname:
    • Subdomain: explorer
    • Domain: d-bis.org
    • Service: http://192.168.11.140:80
    • Type: HTTP

🧪 Testing

Internal Tests (Working )

# Test Blockscout directly
ssh root@192.168.11.12 "pct exec 5000 -- curl http://127.0.0.1:4000/api/v2/status"

# Test Nginx HTTP (redirects to HTTPS)
curl -L http://192.168.11.140/health

# Test Nginx HTTPS (should work after Blockscout fully starts)
curl -k https://192.168.11.140/health

External Test (Pending Cloudflare Config)

# This will work after Cloudflare DNS/tunnel is configured
curl https://explorer.d-bis.org/health

Current result: HTTP 522 (Connection Timeout) - Expected until Cloudflare is configured


📋 Verification Checklist

  • Container exists and is running
  • Blockscout service is installed
  • Blockscout service is running
  • Nginx is installed
  • Nginx is running
  • Nginx configuration is valid
  • SSL certificates are created
  • Port 80 is listening (HTTP redirect)
  • Port 443 is listening (HTTPS proxy)
  • Blockscout responding on port 4000 (may need time to fully start)
  • Cloudflare DNS record configured
  • Cloudflare tunnel route configured
  • Public URL working: https://explorer.d-bis.org

🔧 Troubleshooting

Issue: 502 Bad Gateway

Cause: Blockscout may still be starting up (Docker containers initializing)

Solution: Wait 1-2 minutes and check again:

ssh root@192.168.11.12 "pct exec 5000 -- docker-compose -f /opt/blockscout/docker-compose.yml ps"
ssh root@192.168.11.12 "pct exec 5000 -- curl http://127.0.0.1:4000/api/v2/status"

Issue: HTTP 522 from Cloudflare

Cause: Cloudflare tunnel/DNS not configured

Solution: Configure Cloudflare DNS and tunnel route (see above)


📊 Summary

What Was Accomplished:

  • All scripts created and functional
  • Container verified and accessible
  • Blockscout service running
  • Nginx installed and configured
  • Internal access working (via IP)

What Remains:

  • ⚠️ Configure Cloudflare DNS/tunnel for public access
  • ⚠️ Wait for Blockscout to fully start (if still initializing)
  • ⚠️ Verify Blockscout is responding on port 4000

Next Steps:

  1. Configure Cloudflare DNS record (CNAME to tunnel)
  2. Configure Cloudflare tunnel route (explorer.d-bis.org → http://192.168.11.140:80)
  3. Wait for DNS propagation (1-5 minutes)
  4. Test: curl https://explorer.d-bis.org/health

Last Updated: $(date)
Status: Nginx configured and running | ⚠️ Cloudflare DNS configuration pending