services: fraxtal-testnet: image: ghcr.io/fraxfinance/fraxtal-op-geth:v1.101503.1-frax-1.2.0 expose: - 8545 - 6060 ports: - "10370:10370" - "10370:10370/udp" entrypoint: ["/bin/sh", "-c", "[ ! -d /data/geth ] && /usr/local/bin/geth init /config/genesis.json; exec /usr/local/bin/geth \"$@\""] restart: unless-stopped stop_grace_period: 3m volumes: - fraxtal-testnet-op-geth-pruned-pebble-path:/data - .jwtsecret:/jwtsecret:ro - ./fraxtal/mainnet:/config env_file: - ./fraxtal/testnet.env environment: - "GETH_DATADIR=/data" - "GETH_GCMODE=full" - "GETH_SYNCMODE=full" - "GETH_STATE_SCHEME=path" - "GETH_DB_ENGINE=pebble" - "GETH_NAT=extip:${IP}" - "GETH_PORT=10370" - "GETH_WS_PORT=8545" - "GETH_HTTP=true" - "GETH_HTTP_ADDR=0.0.0.0" - "GETH_HTTP_VHOSTS=*" - "GETH_WS=true" - "GETH_WS_ADDR=0.0.0.0" - "GETH_WS_ORIGINS=*" - "GETH_HTTP_API=eth,net,debug,admin,web3" - "GETH_AUTHRPC_JWTSECRET=/jwtsecret" - "GETH_AUTHRPC_ADDR=0.0.0.0" - "GETH_AUTHRPC_VHOSTS=*" - "GETH_ROLLUP_SEQUENCERHTTP=https://rpc.testnet.frax.com" labels: - "traefik.enable=true" - "traefik.http.middlewares.fraxtal-testnet-op-geth-pruned-pebble-path-stripprefix.stripprefix.prefixes=/fraxtal-testnet" - "traefik.http.services.fraxtal-testnet-op-geth-pruned-pebble-path.loadbalancer.server.port=8545" - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.entrypoints=websecure" - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.tls.certresolver=myresolver" - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.rule=Host(`$DOMAIN`) && PathPrefix(`/fraxtal-testnet`)" - "traefik.http.routers.fraxtal-testnet-op-geth-pruned-pebble-path.middlewares=fraxtal-testnet-op-geth-pruned-pebble-path-stripprefix, ipwhitelist" networks: - chains fraxtal-testnet-node: image: ghcr.io/fraxfinance/fraxtal-op-node:v1.12.2-frax-1.1.0 expose: - 8545 - 7300 - 6060 ports: - "15370:15370" - "15370:15370/udp" entrypoint: [ "op-node" ] restart: unless-stopped volumes: - .jwtsecret:/jwtsecret:ro - ./fraxtal/mainnet:/config stop_grace_period: 30s env_file: - ./fraxtal/testnet.env environment: - "OP_NODE_ROLLUP_CONFIG=/config/rollup.json" - "OP_NODE_SYNCMODE=consensus-layer" - "OP_NODE_L1_ETH_RPC=${ETHEREUM_MAINNET_EXECUTION_RPC}" - "OP_NODE_L2_ENGINE_AUTH=/jwtsecret" - "OP_NODE_L2_ENGINE_RPC=http://fraxtal-testnet:8551" - "OP_NODE_LOG_LEVEL=info" - "OP_NODE_METRICS_ADDR=0.0.0.0" - "OP_NODE_METRICS_ENABLED=true" - "OP_NODE_METRICS_PORT=7300" - "OP_NODE_P2P_LISTEN_IP=0.0.0.0" - "OP_NODE_P2P_LISTEN_TCP_PORT=15370" - "OP_NODE_P2P_LISTEN_UDP_PORT=15370" - "OP_NODE_RPC_ADDR=0.0.0.0" - "OP_NODE_P2P_ADVERTISE_IP=${IP}" - "OP_NODE_RPC_PORT=8545" - "OP_NODE_SNAPSHOT_LOG=/tmp/op-node-snapshot-log" - "OP_NODE_VERIFIER_L1_CONFS=0" - "OP_NODE_STATIC_PEERS=" - "OP_NODE_L1_RPC_KIND=${ETHEREUM_MAINNET_EXECUTION_KIND:-basic}" - "OP_NODE_L1_TRUST_RPC=${ETHEREUM_MAINNET_EXECUTION_TRUST:-false}" - "OP_NODE_L1_BEACON=${ETHEREUM_MAINNET_BEACON_REST}" - "OP_NODE_L1_BEACON_ARCHIVER=${ETHEREUM_MAINNET_BEACON_ARCHIVER}" networks: - chains volumes: fraxtal-testnet-op-geth-pruned-pebble-path: upstreams: - id: ${ID} chain: ${CHAIN} labels: provider: ${PROVIDER} method-groups: enabled: - debug - filter methods: disabled: - name: debug_traceBlockByHash connection: generic: rpc: url: "${RPC_URL}" ws: frameSize: 20Mb msgSize: 50Mb url: "${WS_URL}"