- 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.
147 lines
4.1 KiB
Markdown
147 lines
4.1 KiB
Markdown
# Blockscout Configuration - Run Commands
|
|
|
|
**Copy and paste these commands into your SSH session (root@192.168.11.140)**
|
|
|
|
---
|
|
|
|
## Complete Configuration Script
|
|
|
|
```bash
|
|
# Complete Blockscout Setup - Copy everything below this line
|
|
set -e
|
|
|
|
CHAIN_ID=138
|
|
RPC_URL="http://192.168.11.250:8545"
|
|
WS_URL="ws://192.168.11.250:8546"
|
|
BLOCKSCOUT_HOST="192.168.11.140"
|
|
|
|
echo "════════════════════════════════════════════════════════"
|
|
echo "Configuring Blockscout..."
|
|
echo "════════════════════════════════════════════════════════"
|
|
|
|
# Step 1: Check Docker
|
|
systemctl start docker 2>/dev/null || true
|
|
systemctl enable docker 2>/dev/null || true
|
|
|
|
# Step 2: Setup directory
|
|
if [ -d /opt/blockscout ]; then
|
|
cd /opt/blockscout
|
|
elif [ -d /root/blockscout ]; then
|
|
cd /root/blockscout
|
|
else
|
|
mkdir -p /opt/blockscout && cd /opt/blockscout
|
|
fi
|
|
|
|
# Step 3: Create docker-compose.yml
|
|
cat > docker-compose.yml <<'EOF'
|
|
version: '3.8'
|
|
|
|
services:
|
|
postgres:
|
|
image: postgres:15-alpine
|
|
container_name: blockscout-postgres
|
|
environment:
|
|
POSTGRES_USER: blockscout
|
|
POSTGRES_PASSWORD: blockscout
|
|
POSTGRES_DB: blockscout
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
restart: unless-stopped
|
|
networks:
|
|
- blockscout-network
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U blockscout"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
blockscout:
|
|
image: blockscout/blockscout:latest
|
|
container_name: blockscout
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
environment:
|
|
- DATABASE_URL=postgresql://blockscout:blockscout@postgres:5432/blockscout
|
|
- ETHEREUM_JSONRPC_HTTP_URL=http://192.168.11.250:8545
|
|
- ETHEREUM_JSONRPC_WS_URL=ws://192.168.11.250:8546
|
|
- ETHEREUM_JSONRPC_TRACE_URL=http://192.168.11.250:8545
|
|
- ETHEREUM_JSONRPC_VARIANT=besu
|
|
- CHAIN_ID=138
|
|
- COIN=ETH
|
|
- BLOCKSCOUT_HOST=192.168.11.140
|
|
- BLOCKSCOUT_PROTOCOL=http
|
|
- SECRET_KEY_BASE=PLACEHOLDER
|
|
- POOL_SIZE=10
|
|
- ECTO_USE_SSL=false
|
|
ports:
|
|
- "4000:4000"
|
|
volumes:
|
|
- blockscout-data:/app/apps/explorer/priv/static
|
|
restart: unless-stopped
|
|
networks:
|
|
- blockscout-network
|
|
|
|
volumes:
|
|
postgres-data:
|
|
blockscout-data:
|
|
|
|
networks:
|
|
blockscout-network:
|
|
driver: bridge
|
|
EOF
|
|
|
|
SECRET_KEY=$(openssl rand -hex 64)
|
|
sed -i "s|SECRET_KEY_BASE=PLACEHOLDER|SECRET_KEY_BASE=${SECRET_KEY}|" docker-compose.yml
|
|
|
|
# Step 4: Start services
|
|
docker-compose down 2>/dev/null || docker compose down 2>/dev/null || true
|
|
docker-compose up -d postgres || docker compose up -d postgres
|
|
|
|
echo "Waiting for PostgreSQL..."
|
|
for i in {1..30}; do
|
|
docker exec blockscout-postgres pg_isready -U blockscout >/dev/null 2>&1 && break
|
|
sleep 2
|
|
done
|
|
|
|
docker-compose up -d blockscout || docker compose up -d blockscout
|
|
|
|
# Step 5: Configure Nginx
|
|
apt-get update -qq && apt-get install -y -qq nginx >/dev/null 2>&1
|
|
|
|
cat > /etc/nginx/sites-available/blockscout <<'EOF'
|
|
server {
|
|
listen 80;
|
|
server_name 192.168.11.140 explorer.d-bis.org;
|
|
location / {
|
|
proxy_pass http://localhost:4000;
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection 'upgrade';
|
|
proxy_set_header Host $host;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
proxy_set_header X-Forwarded-Proto $scheme;
|
|
proxy_read_timeout 300s;
|
|
}
|
|
}
|
|
EOF
|
|
|
|
ln -sf /etc/nginx/sites-available/blockscout /etc/nginx/sites-enabled/blockscout
|
|
rm -f /etc/nginx/sites-enabled/default
|
|
nginx -t && systemctl reload nginx
|
|
systemctl enable nginx && systemctl start nginx
|
|
|
|
# Step 6: Check status
|
|
sleep 5
|
|
docker ps
|
|
echo ""
|
|
echo "✓ Configuration complete!"
|
|
echo "Access: http://192.168.11.140 or https://explorer.d-bis.org"
|
|
```
|
|
|
|
---
|
|
|
|
**Copy the script above and paste it into your SSH session to container.**
|
|
|