44 lines
1.7 KiB
Bash
44 lines
1.7 KiB
Bash
|
|
#!/usr/bin/env bash
|
||
|
|
# Fix Blockscout VMID 5000: SSL + migrations
|
||
|
|
# Errors: ssl not available, migrations_status/blocks missing
|
||
|
|
# Usage: Run from Proxmox host or: ssh root@${PROXMOX_HOST_R630_02:-192.168.11.12} 'bash -s' < scripts/fix-blockscout-ssl-and-migrations.sh
|
||
|
|
|
||
|
|
set -euo pipefail
|
||
|
|
|
||
|
|
VMID=5000
|
||
|
|
RPC_URL="${ETHEREUM_JSONRPC_HTTP_URL:-http://${RPC_PUBLIC_1:-192.168.11.221}:8545}"
|
||
|
|
DATABASE_URL_SSL_DISABLED="postgresql://blockscout:blockscout@postgres:5432/blockscout?sslmode=disable"
|
||
|
|
|
||
|
|
exec_in() {
|
||
|
|
if [ -n "${EXEC_PREFIX:-}" ]; then
|
||
|
|
$EXEC_PREFIX "$@"
|
||
|
|
else
|
||
|
|
"$@"
|
||
|
|
fi
|
||
|
|
}
|
||
|
|
|
||
|
|
if command -v pct &>/dev/null && pct status $VMID &>/dev/null; then
|
||
|
|
EXEC_PREFIX="pct exec $VMID --"
|
||
|
|
echo "Running on Proxmox; executing in VMID $VMID"
|
||
|
|
else
|
||
|
|
EXEC_PREFIX=""
|
||
|
|
fi
|
||
|
|
|
||
|
|
echo "=== Fix Blockscout SSL + Migrations ==="
|
||
|
|
exec_in bash -c 'cd /opt/blockscout 2>/dev/null && docker-compose stop blockscout 2>/dev/null' || true
|
||
|
|
sleep 2
|
||
|
|
|
||
|
|
BLOCKSCOUT_NETWORK=$(exec_in docker network ls 2>/dev/null | grep blockscout | head -1 | awk '{print $1}' || echo "blockscout_blockscout-network")
|
||
|
|
|
||
|
|
exec_in docker run --rm --network "$BLOCKSCOUT_NETWORK" \
|
||
|
|
-e "DATABASE_URL=$DATABASE_URL_SSL_DISABLED" \
|
||
|
|
-e "ECTO_USE_SSL=false" \
|
||
|
|
-e "ETHEREUM_JSONRPC_HTTP_URL=$RPC_URL" \
|
||
|
|
-e "CHAIN_ID=138" \
|
||
|
|
blockscout/blockscout:latest \
|
||
|
|
sh -c 'bin/blockscout eval "Elixir.Explorer.ReleaseTasks.create_and_migrate()"'
|
||
|
|
|
||
|
|
exec_in sed -i 's|postgresql://blockscout:blockscout@postgres:5432/blockscout|postgresql://blockscout:blockscout@postgres:5432/blockscout?sslmode=disable|g' /opt/blockscout/docker-compose.yml 2>/dev/null || true
|
||
|
|
exec_in bash -c 'cd /opt/blockscout && docker-compose up -d blockscout'
|
||
|
|
echo "Done. Wait ~2 min, then: curl -s http://${IP_BLOCKSCOUT:-192.168.11.140}/api?module=stats"
|