- Backend REST/gateway/track routes, analytics, Blockscout proxy paths. - Frontend wallet and liquidity surfaces; MetaMask token list alignment. - Deployment docs, verification scripts, address inventory updates. Check: go build ./... under backend/ (pass). Made-with: Cursor
3.8 KiB
Deployment Guide
Production Deployment
Prerequisites
- SSH access to production server (192.168.11.140)
- Password for root user
sshpassinstalled (or use SSH keys)
Quick Deploy
For the current frontend, use the Next standalone deploy path:
# From explorer-monorepo root
./scripts/deploy-next-frontend-to-vmid5000.sh
This builds frontend/, uploads the standalone bundle, installs the
solacescanscout-frontend.service unit, and starts the frontend on
127.0.0.1:3000 inside VMID 5000.
Nginx should keep the existing explorer API routes and proxy / plus /_next/
to the frontend service. Use
nginx-next-frontend-proxy.conf
inside the explorer server block after /api, /api/config/*, /explorer-api/*,
/token-aggregation/api/v1/*, /snap/, and /health.
Legacy Static Deploy
# From explorer-monorepo root
./scripts/deploy.sh
Manual Deploy
# Canonical Next deployment:
./scripts/deploy-next-frontend-to-vmid5000.sh
# Legacy static fallback only:
scp frontend/public/index.html root@192.168.11.140:/var/www/html/index.html
Environment Variables
The deployment script uses these environment variables:
IP: Production server IP (default: 192.168.11.140)DOMAIN: Domain name (default: explorer.d-bis.org)PASSWORD: SSH password (default: L@kers2010)
IP=192.168.11.140 DOMAIN=explorer.d-bis.org ./scripts/deploy.sh
Mission-control and Track 4 runtime wiring
If you are deploying the Go explorer API with the mission-control additions enabled, set these backend env vars as well:
RPC_URL- Chain 138 RPC for Track 1 and mission-control status/SSE dataTOKEN_AGGREGATION_BASE_URL- used byGET /api/v1/mission-control/liquidity/token/{address}/poolsBLOCKSCOUT_INTERNAL_URL- used byGET /api/v1/mission-control/bridge/traceEXPLORER_PUBLIC_BASE- public base URL returned in bridge trace linksCCIP_RELAY_HEALTH_URL- optional relay probe URL, for examplehttp://192.168.11.11:9860/healthzCCIP_RELAY_HEALTH_URLS- optional comma-separated named relay probes, for examplemainnet=http://192.168.11.11:9860/healthz,bsc=http://192.168.11.11:9861/healthz,avax=http://192.168.11.11:9862/healthzMISSION_CONTROL_CCIP_JSON- optional JSON-file fallback for relay health snapshotsOPERATOR_SCRIPTS_ROOT- root directory for Track 4 script executionOPERATOR_SCRIPT_ALLOWLIST- comma-separated allowlist forPOST /api/v1/track4/operator/run-scriptOPERATOR_SCRIPT_TIMEOUT_SEC- optional per-script timeout in seconds
For nginx, include nginx-mission-control-sse.conf inside the same server block that proxies /explorer-api/, and update the proxy_pass target if your Go API is not listening on 127.0.0.1:8080.
Quick verification
curl -N https://explorer.d-bis.org/explorer-api/v1/mission-control/stream
curl "https://explorer.d-bis.org/explorer-api/v1/mission-control/bridge/trace?tx=0x..."
curl "https://explorer.d-bis.org/explorer-api/v1/mission-control/liquidity/token/0x93E66202A11B1772E55407B32B44e5Cd8eda7f22/pools"
# Optional relay probe from the explorer host:
curl http://192.168.11.11:9860/healthz
Rollback
If deployment fails, rollback to previous version:
ssh root@192.168.11.140
cp /var/www/html/index.html.backup.* /var/www/html/index.html
For the Next standalone path, restart the previous release by repointing
/opt/solacescanscout/frontend/current to the prior release and restarting
solacescanscout-frontend.
Testing
After deployment, test the explorer:
./scripts/test.sh
Or manually:
curl -k -I https://explorer.d-bis.org/