version: '3.8'
services:
blockscout-backend:
image: blockscout/blockscout:latest
command: sh -c "/app/bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\" && /app/bin/blockscout start"
ports:
- "4000:4000"
environment:
- ETHEREUM_JSONRPC_HTTP_URL=https://pylon.base-sepolia.spire.dev/v1/chain/2137/rpc
- ETHEREUM_JSONRPC_WS_URL=wss://pylon.base-sepolia.spire.dev/v1/chain/2137/ws
- DATABASE_URL=postgresql://postgres:postgres@postgres:5432/blockscout
- SECRET_KEY_BASE=GENERATE_A_SECRET_KEY_HERE
- ECTO_USE_SSL=false
- COIN=ETH
- NETWORK=Your Appchain Name
- SUBNETWORK=Your Appchain Name
- SHOW_MAINTENANCE_ALERT=false
- DISABLE_EXCHANGE_RATES=true
- INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER=true
- INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=true
- INDEXER_DISABLE_BLOCK_REWARD_FETCHER=true
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
volumes:
- ./blockscout-data:/var/app/priv/static/images
blockscout-frontend:
image: ghcr.io/blockscout/frontend:latest
platform: linux/amd64
ports:
- "8080:3000"
environment:
- NEXT_PUBLIC_API_PROTOCOL=http
- NEXT_PUBLIC_API_HOST=localhost
- NEXT_PUBLIC_API_PORT=4000
- NEXT_PUBLIC_API_WEBSOCKET_PROTOCOL=ws
- NEXT_PUBLIC_APP_HOST=http://localhost:8080
- NEXT_PUBLIC_NETWORK_NAME=Your Appchain Name
- NEXT_PUBLIC_NETWORK_ID=YOUR_CHAIN_ID
depends_on:
- blockscout-backend
postgres:
image: postgres:15
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=blockscout
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 10s
timeout: 5s
retries: 5
redis:
image: redis:7-alpine
volumes:
- redis-data:/var/lib/redis/data
volumes:
postgres-data:
redis-data: