|
| 1 | +version: '3' |
| 2 | + |
| 3 | +services: |
| 4 | + rollup-node: |
| 5 | + image: scrolltech/rollup-node:v0.0.1-rc9 |
| 6 | + container_name: rollup-node |
| 7 | + entrypoint: ["sh", "-c"] |
| 8 | + command: > |
| 9 | + ' |
| 10 | + if [ "$${ENV:-}" = "dev" ]; then |
| 11 | + exec rollup-node node --chain dev --datadir=/l2reth --metrics=0.0.0.0:6060 --disable-discovery --http --http.addr=0.0.0.0 --http.port=8545 --http.corsdomain "*" --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --ws --ws.addr 0.0.0.0 --ws.port 8546 --ws.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --log.stdout.format log-fmt -vvv --sequencer.enabled --sequencer.block-time 250 --sequencer.payload-building-duration 230 --txpool.pending-max-count=1000000 --builder.gaslimit=10000000000 --rpc.max-connections=5000 |
| 12 | + elif [ "$${ENV:-}" = "sepolia" ]; then |
| 13 | + exec rollup-node node --chain scroll-sepolia --datadir=/l2reth --metrics=0.0.0.0:6060 --disable-discovery --http --http.addr=0.0.0.0 --http.port=8545 --http.corsdomain "*" --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --ws --ws.addr 0.0.0.0 --ws.port 8546 --ws.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --log.stdout.format log-fmt -vvv --l1.url http://l1geth-rpc.sepolia.scroll.tech:8545/l1 --l1.cups 10000 --network.bridge --scroll-wire.enabled --optimistic-sync --builder.gaslimit 20000000 --trusted-peers enode://29cee709c400533ae038a875b9ca975c8abef9eade956dcf3585e940acd5c0ae916968f514bd37d1278775aad1b7db30f7032a70202a87fd7365bd8de3c9f5fc@44.242.39.33:30303 |
| 14 | + elif [ "$${ENV:-}" = "mainnet" ]; then |
| 15 | + exec rollup-node node --chain scroll --datadir=/l2reth --metrics=0.0.0.0:6060 --disable-discovery --http --http.addr=0.0.0.0 --http.port=8545 --http.corsdomain "*" --http.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --ws --ws.addr 0.0.0.0 --ws.port 8546 --ws.api admin,debug,eth,net,trace,txpool,web3,rpc,reth,ots,flashbots,miner,mev --log.stdout.format log-fmt -vvv --l1.url http://l1geth-rpc.mainnet.scroll.tech:8545/l1 --l1.cups 10000 --network.bridge --scroll-wire.enabled --optimistic-sync --builder.gaslimit 30000000 |
| 16 | + fi |
| 17 | + ' |
| 18 | + environment: |
| 19 | + - ENV=${ENV:-dev} |
| 20 | + ports: |
| 21 | + - "8545:8545" # JSON-RPC |
| 22 | + - "8546:8546" # WebSocket |
| 23 | + - "6060:6060" # Metrics |
| 24 | + volumes: |
| 25 | + - ./l2reth:/l2reth |
| 26 | + networks: |
| 27 | + - scroll-network |
| 28 | + |
| 29 | + prometheus: |
| 30 | + image: prom/prometheus:latest |
| 31 | + container_name: prometheus |
| 32 | + ports: |
| 33 | + - "19090:9090" # Prometheus Web UI |
| 34 | + volumes: |
| 35 | + - ./resource/prometheus.yml:/etc/prometheus/prometheus.yml:ro |
| 36 | + - ./prometheus_data:/prometheus |
| 37 | + command: |
| 38 | + - '--config.file=/etc/prometheus/prometheus.yml' |
| 39 | + - '--storage.tsdb.path=/prometheus' |
| 40 | + - '--storage.tsdb.retention.time=1d' |
| 41 | + - '--storage.tsdb.retention.size=512MB' |
| 42 | + - '--storage.tsdb.wal-compression' |
| 43 | + - '--web.console.libraries=/etc/prometheus/console_libraries' |
| 44 | + - '--web.console.templates=/etc/prometheus/consoles' |
| 45 | + - '--web.enable-lifecycle' |
| 46 | + networks: |
| 47 | + - scroll-network |
| 48 | + depends_on: |
| 49 | + - rollup-node |
| 50 | + |
| 51 | + grafana: |
| 52 | + image: grafana/grafana:latest |
| 53 | + container_name: grafana |
| 54 | + ports: |
| 55 | + - "13000:3000" # Grafana Web UI |
| 56 | + volumes: |
| 57 | + - ./resource/grafana-datasource.yml:/config/datasources/datasource.yml:ro |
| 58 | + - ./resource/grafana-dashboard-providers.yml:/config/dashboards/dashboard-providers.yml:ro |
| 59 | + - ./resource/dashboards:/dashboards:ro |
| 60 | + - ./grafana_data:/var/lib/grafana |
| 61 | + environment: |
| 62 | + - GF_AUTH_ANONYMOUS_ENABLED=true |
| 63 | + - GF_AUTH_ANONYMOUS_ORG_ROLE=Admin |
| 64 | + - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org. |
| 65 | + - GF_DASHBOARDS_DEFAULT_HOME_DASHBOARD_PATH=/dashboards/overview.json |
| 66 | + - GF_PATHS_PROVISIONING=/config |
| 67 | + networks: |
| 68 | + - scroll-network |
| 69 | + depends_on: |
| 70 | + - prometheus |
| 71 | + |
| 72 | +networks: |
| 73 | + scroll-network: |
| 74 | + driver: bridge |
0 commit comments