328 lines
7.9 KiB
YAML
328 lines
7.9 KiB
YAML
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
|