x-besu-def: restart: on-failure image: hyperledger/besu:${BESU_VERSION:-latest} env_file: &id001 - ./config/besu/.env entrypoint: &id002 - /bin/bash - -c - ' cp "/config/${BESU_CONS_ALGO:-QBFT}genesis.json" /config/genesis.json /opt/besu/bin/besu \ --config-file=/config/config.toml \ --p2p-host=$$(hostname -i) \ --rpc-http-api=EEA,WEB3,ETH,NET,TRACE,DEBUG,ADMIN,TXPOOL,PERM,${BESU_CONS_ALGO:-QBFT} \ --rpc-ws-api=EEA,WEB3,ETH,NET,TRACE,DEBUG,ADMIN,TXPOOL,PERM,${BESU_CONS_ALGO:-QBFT} ; ' x-blockscout-ref: image: consensys/blockscout:v4.1.5-beta container_name: blockscout restart: 'no' environment: &id005 - PORT=4000 - ECTO_USE_SSL=false - DATABASE_URL=postgresql://postgres:postgres@blockscoutpostgres:5432/postgres?ssl=false - POSTGRES_PASSWORD=postgres - POSTGRES_USER=postgres - NETWORK=quickstart - NETWORK=Dev Quickstart - SUBNETWORK=Quorum - CHAIN_ID=1337 - COIN=ETH - ETHEREUM_JSONRPC_VARIANT=besu - ETHEREUM_JSONRPC_TRANSPORT=http - ETHEREUM_JSONRPC_HTTP_URL=http://rpcnode:8545 - ETHEREUM_JSONRPC_TRACE_URL=http://rpcnode:8545 - ETHEREUM_JSONRPC_WS_URL=ws://rpcnode:8546 entrypoint: &id006 - /bin/sh - -c - 'cd /opt/app/; echo $$MIX_ENV && mix do ecto.create, ecto.migrate; mix phx.server; ' depends_on: &id007 - blockscoutpostgres links: &id008 - blockscoutpostgres ports: &id009 - 26000:4000 x-blockscoutpostgres-ref: image: postgres:13.6-alpine restart: on-failure container_name: blockscoutpostgres environment: &id010 - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_HOST_AUTH_METHOD=trust volumes: &id011 - blockscoutpostgres:/var/lib/postgresql/data ports: &id012 - 5432 healthcheck: &id013 test: - CMD-SHELL - pg_isready -U postgres interval: 5s timeout: 10s retries: 5 x-ethsignerProxy-def: image: consensys/ethsigner:${ETHSIGNER_VERSION:-latest} command: &id004 - --chain-id=1337 - --http-listen-host=0.0.0.0 - --downstream-http-port=8545 - --downstream-http-host=rpcnode - file-based-signer - -k - /opt/ethsigner/keyfile - -p - /opt/ethsigner/passwordfile ports: - 8545 services: validator1: restart: on-failure image: hyperledger/besu:${BESU_VERSION:-latest} env_file: *id001 entrypoint: *id002 ports: - 21001:8545/tcp - 30303 - 9545 environment: - OTEL_RESOURCE_ATTRIBUTES=service.name=validator1,service.version=${BESU_VERSION:-latest} labels: - consensus=besu volumes: - ./config/besu/:/config - ./config/nodes/validator1:/opt/besu/keys - ./logs/besu:/tmp/besu networks: quorum-dev-quickstart: ipv4_address: 172.16.239.11 dns: &id003 - 8.8.8.8 - 8.8.4.4 - 1.1.1.1 validator2: restart: on-failure image: hyperledger/besu:${BESU_VERSION:-latest} env_file: *id001 entrypoint: *id002 ports: - 21002:8545/tcp - 30303 - 9545 environment: - OTEL_RESOURCE_ATTRIBUTES=service.name=validator2,service.version=${BESU_VERSION:-latest} labels: - consensus=besu volumes: - ./config/besu/:/config - ./config/nodes/validator2:/opt/besu/keys - ./logs/besu:/tmp/besu depends_on: - validator1 networks: quorum-dev-quickstart: ipv4_address: 172.16.239.12 dns: *id003 validator3: restart: on-failure image: hyperledger/besu:${BESU_VERSION:-latest} env_file: *id001 entrypoint: *id002 ports: - 21003:8545/tcp - 30303 - 9545 environment: - OTEL_RESOURCE_ATTRIBUTES=service.name=validator3,service.version=${BESU_VERSION:-latest} labels: - consensus=besu volumes: - ./config/besu/:/config - ./config/nodes/validator3:/opt/besu/keys - ./logs/besu:/tmp/besu depends_on: - validator1 networks: quorum-dev-quickstart: ipv4_address: 172.16.239.13 dns: *id003 validator4: restart: on-failure image: hyperledger/besu:${BESU_VERSION:-latest} env_file: *id001 entrypoint: *id002 ports: - 21004:8545/tcp - 30303 - 9545 environment: - OTEL_RESOURCE_ATTRIBUTES=service.name=validator4,service.version=${BESU_VERSION:-latest} labels: - consensus=besu volumes: - ./config/besu/:/config - ./config/nodes/validator4:/opt/besu/keys - ./logs/besu:/tmp/besu depends_on: - validator1 networks: quorum-dev-quickstart: ipv4_address: 172.16.239.14 dns: *id003 rpcnode: restart: on-failure image: hyperledger/besu:${BESU_VERSION:-latest} env_file: *id001 entrypoint: *id002 container_name: rpcnode environment: - OTEL_RESOURCE_ATTRIBUTES=service.name=rpcnode,service.version=${BESU_VERSION:-latest} volumes: - ./config/besu/:/config - ./config/nodes/rpcnode:/opt/besu/keys - ./logs/besu:/tmp/besu depends_on: - validator1 ports: - 8545:8545/tcp - 8546:8546/tcp networks: quorum-dev-quickstart: ipv4_address: 172.16.239.15 dns: *id003 ethsignerProxy: image: consensys/ethsigner:${ETHSIGNER_VERSION:-latest} command: *id004 ports: - 18545:8545/tcp volumes: - ./config/ethsigner/password:/opt/ethsigner/passwordfile - ./config/ethsigner/key:/opt/ethsigner/keyfile depends_on: - validator1 - rpcnode networks: quorum-dev-quickstart: ipv4_address: 172.16.239.40 dns: *id003 explorer: image: consensys/quorum-explorer:${QUORUM_EXPLORER_VERSION:-latest} volumes: - ./quorum-explorer/config.json:/app/config.json - ./quorum-explorer/env:/app/.env.production depends_on: - rpcnode ports: - 25000:25000/tcp networks: quorum-dev-quickstart: ipv4_address: 172.16.239.31 dns: *id003 blockscout: image: consensys/blockscout:v4.1.5-beta container_name: blockscout restart: 'no' environment: *id005 entrypoint: *id006 depends_on: *id007 links: *id008 ports: *id009 networks: quorum-dev-quickstart: ipv4_address: 172.16.239.51 dns: *id003 blockscoutpostgres: image: postgres:13.6-alpine restart: on-failure container_name: blockscoutpostgres environment: *id010 volumes: *id011 ports: *id012 healthcheck: *id013 networks: quorum-dev-quickstart: ipv4_address: 172.16.239.52 dns: *id003 prometheus: image: prom/prometheus:v2.46.0 volumes: - ./config/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - prometheus:/prometheus command: - --config.file=/etc/prometheus/prometheus.yml ports: - 9090:9090/tcp networks: quorum-dev-quickstart: ipv4_address: 172.16.239.32 dns: *id003 grafana: image: grafana/grafana:10.1.0 environment: - GF_AUTH_ANONYMOUS_ENABLED=true - GF_USERS_VIEWERS_CAN_EDIT=true volumes: - ./config/grafana/provisioning/:/etc/grafana/provisioning/ - grafana:/var/lib/grafana ports: - 3000:3000/tcp networks: quorum-dev-quickstart: ipv4_address: 172.16.239.33 dns: *id003 loki: image: grafana/loki:2.8.4 volumes: - ./loki/loki.yml:/etc/loki/local-config.yaml command: -config.file=/etc/loki/local-config.yaml ports: - 3100:3100/tcp networks: quorum-dev-quickstart: ipv4_address: 172.16.239.34 dns: *id003 promtail: image: grafana/promtail:2.8.4 volumes: - ./logs:/var/log - ./promtail/promtail.yml:/etc/promtail/config.yml command: -config.file=/etc/promtail/config.yml networks: quorum-dev-quickstart: ipv4_address: 172.16.239.35 dns: *id003 volumes: public-keys: null prometheus: null grafana: null splunk: null ethlogger: null blockscoutpostgres: null networks: quorum-dev-quickstart: name: quorum-dev-quickstart driver: bridge driver_opts: com.docker.network.driver.mtu: 1500 ipam: config: - subnet: 172.16.239.0/24 options: driver: default