Files
proxmox/docs/archive/completion/BLOCKSCOUT_COMPLETE_SUMMARY.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

5.6 KiB

Blockscout Explorer - Complete Implementation Summary

Date: $(date)
Status: INFRASTRUCTURE COMPLETE | ⚠️ APPLICATION STARTING


Completed Infrastructure

1. Container and Network

  • Container VMID 5000 deployed on pve2 node
  • Container hostname: blockscout-1
  • Container IP: 192.168.11.140
  • Container status: Running

2. Nginx Reverse Proxy

  • Nginx installed and configured
  • HTTP (port 80): Redirects to HTTPS
  • HTTPS (port 443): Proxies to Blockscout on port 4000
  • SSL certificates generated (self-signed)
  • Health check endpoint: /health
  • Nginx service: Running

3. Blockscout Application

  • Blockscout Docker image: blockscout/blockscout:latest
  • PostgreSQL database: Running
  • Docker Compose configuration: Updated with proper command
  • Service configured to run: mix phx.server
  • ⚠️ Container: Starting (may take 1-2 minutes to fully initialize)

4. Configuration Files

  • /opt/blockscout/docker-compose.yml - Updated with command
  • /etc/nginx/sites-available/blockscout - Nginx config
  • /etc/nginx/ssl/blockscout.crt - SSL certificate
  • /etc/nginx/ssl/blockscout.key - SSL private key

🔧 Fixes Applied

Issue 1: Container Exiting with Code 0

Problem: Blockscout container was exiting immediately with code 0

Solution: Added command: mix phx.server to docker-compose.yml to ensure the Phoenix server starts properly

Status: Fixed

Issue 2: Wrong WebSocket URL

Problem: WS_URL was set to ws://10.3.1.40:8546 instead of ws://192.168.11.250:8546

Solution: Updated docker-compose.yml to use correct RPC endpoint

Status: Fixed


⚠️ Pending: Cloudflare Configuration

Required Actions

1. DNS Record (Cloudflare Dashboard)

  • Go to: https://dash.cloudflare.com/ → Select d-bis.org → DNS → Records
  • Create CNAME record:
    • Type: CNAME
    • Name: explorer
    • Target: <tunnel-id>.cfargotunnel.com
    • Proxy: 🟠 Proxied (orange cloud) - REQUIRED
    • TTL: Auto

2. Tunnel Route (Cloudflare Zero Trust)

  • Go to: https://one.dash.cloudflare.com/
  • Navigate to: Zero Trust → Networks → Tunnels
  • Select your tunnel → Configure → Public Hostnames
  • Add hostname:
    • Subdomain: explorer
    • Domain: d-bis.org
    • Service: http://192.168.11.140:80
    • Type: HTTP

Helpful Script: scripts/configure-cloudflare-explorer-manual.sh provides step-by-step instructions


🧪 Testing

Internal Tests

# Test Blockscout API 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
curl -k https://192.168.11.140/health

External Test (After Cloudflare Config)

# Wait 1-5 minutes for DNS propagation after configuring Cloudflare
curl https://explorer.d-bis.org/health

Expected Result: JSON response with Blockscout status


📊 Current Status

Services Status

Service Status Notes
Container (VMID 5000) Running On pve2 node
PostgreSQL Running Docker container
Blockscout ⚠️ Starting May take 1-2 minutes
Nginx Running Reverse proxy active
Cloudflare DNS Pending Manual configuration needed
Cloudflare Tunnel Pending Manual configuration needed

Port Status

Port Service Status
80 Nginx HTTP Listening
443 Nginx HTTPS Listening
4000 Blockscout ⚠️ Starting
5432 PostgreSQL Listening (internal)

📋 Next Steps

  1. Wait for Blockscout to Initialize (1-2 minutes):

    ssh root@192.168.11.12
    pct exec 5000 -- docker logs -f blockscout
    # Wait until you see "Server running" or similar
    
  2. Verify Blockscout is Responding:

    pct exec 5000 -- curl http://127.0.0.1:4000/api/v2/status
    
  3. Test Nginx Proxy:

    curl -k https://192.168.11.140/health
    
  4. Configure Cloudflare:

    • Run: bash scripts/configure-cloudflare-explorer-manual.sh
    • Or follow manual steps in this document
  5. Test Public URL:

    curl https://explorer.d-bis.org/health
    

🔍 Troubleshooting

Blockscout Not Responding

Check logs:

pct exec 5000 -- docker logs blockscout --tail 100
pct exec 5000 -- cd /opt/blockscout && docker-compose logs blockscout

Check container status:

pct exec 5000 -- docker ps
pct exec 5000 -- docker inspect blockscout

Restart if needed:

pct exec 5000 -- cd /opt/blockscout && docker-compose restart blockscout

Nginx 502 Bad Gateway

Cause: Blockscout not responding on port 4000

Solution: Wait for Blockscout to fully start, or check Blockscout logs

HTTP 522 from Cloudflare

Cause: Cloudflare DNS/tunnel not configured

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


Summary

Infrastructure: Complete

  • Container deployed and running
  • Nginx installed and configured
  • Reverse proxy working
  • SSL certificates created

Application: ⚠️ Starting

  • Blockscout container configured
  • Startup command added
  • May take 1-2 minutes to fully initialize

External Access: Pending

  • Cloudflare DNS needs manual configuration
  • Tunnel route needs manual configuration
  • Will work once configured and DNS propagates

Last Updated: $(date)
Overall Status: Infrastructure ready, application starting, Cloudflare configuration pending