#!/usr/bin/env bash # Fix Blockscout (VMID 5000) - Run from project root # # Root cause: thin1-r630-02 pool is 100% full → "no space left on device" # Blockscout uses postgres + blockscout containers; both need Docker/overlay2. # # FIX: Migrate VMID 5000 to thin5 or thin6 (have free space): # ssh root@r630-02 # pct stop 5000 # vzdump 5000 --storage local --mode stop --compress 0 # pct restore 5000 /var/lib/vz/dump/vzdump-lxc-5000-*.tar.gz --storage thin5 # pct start 5000 # # Then start Blockscout: # pct exec 5000 -- bash -c 'cd /opt/blockscout && docker-compose up -d' # # Usage: ./scripts/fix-blockscout-1.sh set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)" source "${PROJECT_ROOT}/config/ip-addresses.conf" 2>/dev/null || true VMID=5000 HOST="${PROXMOX_R630_02:-192.168.11.12}" IP_BLOCKSCOUT="${IP_BLOCKSCOUT:-192.168.11.140}" echo "=== Fix Blockscout (VMID $VMID) ===" echo "Host: $HOST | Container IP: $IP_BLOCKSCOUT" echo "" echo "[1] Checking thin pool (thin1-r630-02 at 100% = root cause)..." ssh -o ConnectTimeout=8 -o StrictHostKeyChecking=no root@"$HOST" "pvesm status 2>/dev/null | grep -E 'thin1-r630|thin5|thin6'" echo "" echo "[2] RECOMMENDED FIX - Migrate container to thin5 (has free space):" echo " Run on Proxmox host ($HOST):" echo "" echo " pct stop $VMID" echo " vzdump $VMID --storage local --mode stop --compress 0" echo " pct destroy $VMID" echo " pct restore $VMID /var/lib/vz/dump/vzdump-lxc-$VMID-*.tar.gz --storage thin5" echo " pct start $VMID" echo "" echo " Then: pct exec $VMID -- bash -c 'cd /opt/blockscout && docker-compose up -d'" echo "" echo " Wait ~2 min, then test: curl -s http://${IP_BLOCKSCOUT}/api?module=stats" echo "" echo "See: docs/03-deployment/BLOCKSCOUT_FIX_RUNBOOK.md"