# SyncLink Example (https://github.com/stereum-dev/synclink-spec/wiki) name: "synclink-example" services: # Synclink Server synclink-server: container_name: synclink-server image: stereum/synclink-server:latest restart: on-failure ports: # Map the REST API port(8000) - "8000:8000" # volumes: # - ./config.yaml:/code/config.yaml environment: DOCK_ENV: 'prod' SYLI_ETH_API_ADDRESS: http://135.181.204.56:5051 # SYLI_ADDR: 0.0.0.0 # SYLI_PORT: 8000 # SYLI_ETH_API_ADDRESS: http://localhost:5051 # Synclink Client synclink-client: container_name: synclink-client depends_on: - synclink-server restart: on-failure image: stereum/synclink-client:latest ports: # Map the REST API port(9000) - "9000:9000" # volumes: # - ./config.yaml:/code/config.yaml environment: DOCK_ENV: 'prod' # SYLI_ADDR: 0.0.0.0 # SYLI_PORT: 9000 SYLI_NODE_1: http://synclink-server:8000 #SYLI_NODE_2: http://localhost:8000 #SYLI_NODE_3: http://host.docker.internal:8000 # New Besu Node besu-node: container_name: synclink-besu-node depends_on: - synclink-client restart: on-failure image: hyperledger/besu:latest command: ["--network=goerli", "--data-path=/var/lib/besu/data", "--host-allowlist=*", "--sync-mode=FAST", "--rpc-http-enabled", "--rpc-http-cors-origins=*", "--rpc-http-api=ETH,NET,CLIQUE,DEBUG,MINER,NET,PERM,ADMIN,EEA,TXPOOL,PRIV,WEB3", "--engine-host-allowlist=*", "--engine-rpc-enabled=true"] volumes: - ./synclink-example-data/besu:/var/lib/besu/data ports: # Map the p2p port(30303), RPC HTTP port(8545), and engine port (8551) - "8545:8545" - "8551:8551" - "30303:30303/tcp" - "30303:30303/udp" # New Teku Node teku-node: container_name: synclink-teku-node depends_on: - besu-node restart: on-failure environment: - "JAVA_OPTS=-Xmx4g" image: consensys/teku:latest command: ["--network=goerli", "--data-base-path=/var/lib/teku/data", "--ee-endpoint=http://besu-node:8551", "--ee-jwt-secret-file=/var/lib/besu/data/jwt.hex", "--p2p-port=9999", "--rest-api-enabled=true", "--rest-api-docs-enabled=true", "--initial-state=http://synclink-client:9000/eth/v2/debug/beacon/states/finalized" ] volumes: - ./synclink-example-data/teku:/var/lib/teku/data - ./synclink-example-data/besu:/var/lib/besu/data ports: # Map the p2p port(9999) and REST API port(5051) - "9999:9999/tcp" - "9999:9999/udp" - "5051:5051"