- 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.8 KiB
Explorer Final Status and Required Actions
Date: January 27, 2025
Status: 🔴 REQUIRES MANUAL ACTION ON PROXMOX HOST
📊 Current Status
✅ Working Components
- Container VMID 5000: ✅ Running on node pve2
- Nginx: ✅ Running and serving frontend (HTTP 200)
- Ports 80 & 443: ✅ Open and accessible
- Direct IP Access: ✅ http://192.168.11.140 returns frontend
❌ Not Working
- Blockscout Service: ❌ Not running (port 4000 not accessible)
- Nginx Proxy to Blockscout: ❌ Returns 502 Bad Gateway
- Public URL: ❌ Returns 404 (Cloudflare routing)
🎯 Required Action
The Blockscout service needs to be started manually on the Proxmox host.
Quick Fix Command
SSH to Proxmox host and run:
# SSH to Proxmox host
ssh root@192.168.11.10
# Start Blockscout service (container is on pve2)
ssh pve2 'pct exec 5000 -- systemctl start blockscout'
# OR if pve2 hostname doesn't resolve, use IP:
# First find pve2 IP, then:
ssh root@<pve2-ip> 'pct exec 5000 -- systemctl start blockscout'
# Wait 30-60 seconds for Blockscout to start, then verify:
curl http://192.168.11.140:4000/api/v2/status
Alternative: Run Script on Proxmox Host
Copy and run this script on the Proxmox host:
# On Proxmox host (192.168.11.10)
cd /home/intlc/projects/proxmox
bash scripts/start-blockscout-on-proxmox.sh
Or run directly via SSH:
# From your current machine
ssh root@192.168.11.10 'bash -s' < /home/intlc/projects/proxmox/scripts/start-blockscout-on-proxmox.sh
🔧 Detailed Steps
Step 1: Access Proxmox Host
ssh root@192.168.11.10
Step 2: Find Container Node
# Check which node has container 5000
for node in ml110 pve pve2; do
pvesh get /nodes/$node/lxc/5000/status/current --output-format json 2>/dev/null && echo "Found on $node"
done
Expected: Container is on pve2
Step 3: Access Container Node
Option A: If pve2 hostname resolves
ssh pve2
Option B: If pve2 hostname doesn't resolve, find IP
# Get pve2 IP from Proxmox
pvesh get /nodes/pve2 --output-format json | grep -o '"ip":"[^"]*"'
# Then SSH to that IP
ssh root@<pve2-ip>
Option C: Direct from main host (if on cluster)
# From main Proxmox host, execute directly
pct exec 5000 -- bash
Step 4: Start Blockscout Service
Inside container or via pct exec:
# Method 1: systemd service
systemctl start blockscout
systemctl enable blockscout
systemctl status blockscout
# Method 2: docker-compose (if systemd doesn't work)
cd /opt/blockscout
docker-compose up -d
# OR
docker compose up -d
# Method 3: Check for existing containers
docker ps -a | grep blockscout
docker start <container-name>
Step 5: Verify Blockscout is Running
# Check port
ss -tlnp | grep :4000
# Test API
curl http://127.0.0.1:4000/api/v2/status
# Check logs if not working
journalctl -u blockscout -n 50
docker-compose -f /opt/blockscout/docker-compose.yml logs --tail=50
Step 6: Verify External Access
From your machine:
curl http://192.168.11.140:4000/api/v2/status
curl http://192.168.11.140/api/v2/stats
Expected: Should return JSON with chain_id, not 502 Bad Gateway
Step 7: Fix Cloudflare (if public URL still 404)
Check Cloudflare tunnel:
# Inside container
systemctl status cloudflared
cat /etc/cloudflared/config.yml
Verify DNS and tunnel route in Cloudflare dashboard
📋 Verification Checklist
After starting Blockscout, verify:
- Container VMID 5000 is running
- Blockscout service is active:
systemctl status blockscout - Port 4000 is listening:
ss -tlnp | grep :4000 - Blockscout API responds:
curl http://127.0.0.1:4000/api/v2/status - External API works:
curl http://192.168.11.140:4000/api/v2/status - Nginx proxy works:
curl http://192.168.11.140/api/v2/stats(not 502) - Public URL works:
curl https://explorer.d-bis.org/api/v2/stats
🛠️ Troubleshooting
Issue: systemctl start blockscout fails
Check logs:
journalctl -u blockscout -n 100
Common causes:
- PostgreSQL not running
- Missing environment variables
- Docker issues
Solution:
# Check PostgreSQL
docker ps | grep postgres
docker-compose -f /opt/blockscout/docker-compose.yml up -d postgres
# Check environment
cat /opt/blockscout/.env
# Restart all services
cd /opt/blockscout
docker-compose restart
Issue: Port 4000 still not accessible
Check if Blockscout is actually running:
docker ps | grep blockscout
ps aux | grep blockscout
Check firewall:
iptables -L -n | grep 4000
ufw status | grep 4000
Issue: Nginx still returns 502
Verify Nginx config:
nginx -t
cat /etc/nginx/sites-available/blockscout | grep proxy_pass
# Should show: proxy_pass http://127.0.0.1:4000;
Restart Nginx:
systemctl restart nginx
📝 Scripts Available
All scripts are in /home/intlc/projects/proxmox/scripts/:
diagnose-explorer-status.sh- Check current statuscheck-blockscout-logs.sh- View logs and diagnose issuesstart-blockscout-on-proxmox.sh- Start service (run on Proxmox host)fix-blockscout-explorer.sh- Complete fix scriptrestore-explorer-complete.sh- Full restoration
✅ Summary
Current State:
- Container running ✅
- Nginx working ✅
- Blockscout service stopped ❌
Action Required: Start Blockscout service on Proxmox host (pve2 node)
Command:
ssh root@192.168.11.10
ssh pve2 'pct exec 5000 -- systemctl start blockscout'
After Starting: Wait 30-60 seconds, then verify with:
curl http://192.168.11.140:4000/api/v2/status
Last Updated: January 27, 2025
Next Action: Start Blockscout service on Proxmox host