# Copyright 2019-2020 Fujitsu Laboratories Ltd.
# SPDX-License-Identifier: Apache-2.0
version: '3'
services:
  geth1:
    container_name: geth1
    image: ethereum/client-go:v1.8.27
    volumes:
      - "$PWD/data-geth1:/root/data"
      - "$PWD/data-geth1/keystore:/root/data/keystore"
      - "$PWD/data-geth1/genesis.json:/root/data/genesis.json" # mount genesis.js from host
    working_dir: /root
    ports:
      - 8545:8545/tcp # RPC - HTTP
      - 8546:8546/tcp # RPC - WS
    expose:
      - 8545/tcp # RPC - HTTP
      - 8546/tcp # RPC - WS
    networks:
      - geth1net
    logging:
      driver: "json-file"
      options:
        max-size: "10m"
        max-file: "3"
    # following parameters are given to geth
    command: >
      --rpc
      --networkid 10
      --nodiscover
      --datadir=/root/data
      --rpcaddr "0.0.0.0"
      --rpcport "8545"
      --rpccorsdomain "*"
      --rpcvhosts "*"
      --rpcapi "eth,web3"
      --ws
      --wsport "8546"
      --wsaddr "0.0.0.0"
      --wsorigins "*"
      --wsapi "eth,web3"
      --unlock 0,1,2,3,4
      --password "/dev/null"
      --gasprice 0
      --mine --minerthreads=1
networks:
  geth1net:
    external: true
