version: '3.8' services: redis_db: image: 'redis:alpine' ports: - 6379:6379 container_name: redis_db command: redis-server volumes: - ./redis-data:/data db: image: postgres:14 restart: always container_name: 'postgres' environment: POSTGRES_PASSWORD: '' POSTGRES_USER: 'postgres' POSTGRES_HOST_AUTH_METHOD: 'trust' ports: - 7432:5432 blockscout: depends_on: - db - smart-contract-verifier - redis_db image: blockscout/blockscout:${DOCKER_TAG:-latest} restart: always container_name: 'blockscout' links: - db:database command: bash -c "bin/blockscout eval \"Elixir.Explorer.ReleaseTasks.create_and_migrate()\" && bin/blockscout start" extra_hosts: - 'host.docker.internal:host-gateway' env_file: - ./envs/common-blockscout.env environment: ETHEREUM_JSONRPC_VARIANT: 'geth' ETHEREUM_JSONRPC_HTTP_URL: http://host.docker.internal:8545/ ETHEREUM_JSONRPC_WS_URL: ws://host.docker.internal:8545/ INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER: 'true' DATABASE_URL: postgresql://postgres:@host.docker.internal:7432/blockscout?ssl=false ECTO_USE_SSL: 'false' SECRET_KEY_BASE: '56NtB48ear7+wMSf0IQuWDAAazhpb31qyc7GiyspBP2vh7t5zlCsF5QDv76chXeN' ports: - 4000:4000 volumes: - ./logs/:/app/logs/ smart-contract-verifier: image: ghcr.io/blockscout/smart-contract-verifier:${SMART_CONTRACT_VERIFIER_DOCKER_TAG:-latest} restart: always container_name: 'smart-contract-verifier' env_file: - ./envs/common-smart-contract-verifier.env ports: - 8043:8043 visualizer: image: ghcr.io/blockscout/visualizer:${VISUALIZER_DOCKER_TAG:-latest} restart: always container_name: 'visualizer' env_file: - ./envs/common-visualizer.env ports: - 8050:8050