Files
linea-monorepo/docker/compose-local-dev-traces-v2.overrides.yml
Roman Vaseev 8600745120 Limiting number of concurrent traces API requests for the local stack… (#236)
* Limiting number of concurrent traces API requests for the local stack to avoid occasional OOM-s

* Limiting number of verticles for Traces API node

* Trying out Besu untuned and raising limit per endpoint to 2 for traces

* Trying out Besu untuned and raising limit per endpoint to 2 for traces and Shomei node

* Using besu untuned for arithmetization as well
2024-10-25 11:44:29 +02:00

122 lines
5.2 KiB
YAML

# to use this file run
# docker compose -f compose.yml -f compose-local-dev-traces-v2.overrides.yml --profile l2 --profile l1 up
services:
sequencer:
environment:
JAVA_OPTS: -XX:+UnlockExperimentalVMOptions -XX:-UseG1GC -XX:+UseZGC
volumes:
- ../config/common/traces-limits-besu-v2.toml:/var/lib/besu/traces-limits.toml:ro
l2-node-besu:
environment:
JAVA_OPTS: -XX:+UnlockExperimentalVMOptions -XX:-UseG1GC -XX:+UseZGC
volumes:
- ../config/common/traces-limits-besu-v2.toml:/var/lib/besu/traces-limits.toml:ro
linea-besu-sequencer-plugin-downloader:
command: [ "sh", "/file-downloader.sh", "https://github.com/Consensys/linea-sequencer/releases/download/v0.8.0-rc4.1/linea-sequencer-v0.8.0-rc4.1.jar", "/linea-besu-sequencer" ]
traces-node:
command: ['echo', 'forced exit as replaced by traces-node-v2']
traces-api:
command: ['echo', 'forced exit as replaced by traces-node-v2']
traces-node-v2:
hostname: traces-node-v2
container_name: traces-node-v2
image: consensys/linea-besu:24.9-delivery32
profiles: [ "l2", "l2-bc", "debug", "external-to-monorepo" ]
depends_on:
traces-node-v2-plugin-downloader:
condition: service_completed_successfully
sequencer:
condition: service_healthy
ports:
- "8745:8545"
- "8746:8546"
- "8750:8550"
- "8751:8548"
- "30308:30303"
healthcheck:
test: [ "CMD-SHELL", "bash -c \"[ -f /tmp/pid ]\"" ]
interval: 1s
timeout: 1s
retries: 120
restart: "no"
environment:
JAVA_OPTS: -XX:+UnlockExperimentalVMOptions -XX:-UseG1GC -XX:+UseZGC
LOG4J_CONFIGURATION_FILE: /var/lib/besu/log4j.xml
entrypoint:
- /bin/bash
- -c
- |
/opt/besu/bin/besu-untuned \
--config-file=/var/lib/besu/traces-node-v2.config.toml \
--genesis-file=/var/lib/besu/genesis.json \
--bootnodes=enode://14408801a444dafc44afbccce2eb755f902aed3b5743fed787b3c790e021fef28b8c827ed896aa4e8fb46e22bd67c39f994a73768b4b382f8597b0d44370e15d@11.11.11.101:30303
volumes:
- ./config/traces-node-v2/traces-node-v2-config.toml:/var/lib/besu/traces-node-v2.config.toml:ro
- ./config/traces-node-v2/log4j.xml:/var/lib/besu/log4j.xml:ro
- ./config/linea-local-dev-genesis-PoA-besu.json/:/var/lib/besu/genesis.json:ro
- ../tmp/traces-node-v2/plugins:/opt/besu/plugins/
- ../tmp/local/:/data/:rw
networks:
linea:
ipv4_address: 11.11.11.115
prover:
command: ['echo', 'forced exit as replaced by prover-v3']
prover-v3: # prover compatible with the traces from zkbesu
container_name: prover-v3
hostname: prover-v3
image: consensys/linea-prover:${PROVER_TAG:-bba9677}
platform: linux/amd64
# to avoid spinning up on CI for now
profiles: [ "l2" ]
environment:
GOMAXPROCS: 16
CONFIG_FILE: "/opt/linea/prover/config.toml"
GOMEMLIMIT: "10GiB"
WORKER_ID: prover-i1 # keep this prover- to mimic prod env prover-aggregation-91
volumes:
- ../tmp/local/:/data/
- logs:/logs
- ./config/prover/v3/prover-config.toml:/opt/linea/prover/config.toml:ro
- ../prover/prover-assets:/opt/linea/prover/prover-assets:ro
networks:
linea:
ipv4_address: 11.11.11.109
traces-node-v2-plugin-downloader:
image: busybox:1.36.1
# profiles: ["l2", "l2-bc"] this works locally but breakes on CI, maybe Docker compose version issue
command: [ "sh", "/file-downloader.sh", "https://github.com/Consensys/linea-tracer/releases/download/v0.8.0-rc3/linea-tracer-v0.8.0-rc3.jar", "/traces-node-v2" ]
volumes:
- ./scripts/file-downloader.sh:/file-downloader.sh:ro
- ../tmp/traces-node-v2/plugins:/traces-node-v2/
coordinator:
# ./gradlew :coordinator:app:shadowJar
# docker build coordinator --build-context=jar=./coordinator/app/build/libs/ -t local/linea-coordinator:latest
# image: local/linea-coordinator:latest
command: [ 'java', '-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005','-Dvertx.configurationFile=/var/lib/coordinator/vertx-options.json', '-Dlog4j2.configurationFile=/var/lib/coordinator/log4j2-dev.xml', '-jar', 'libs/coordinator.jar', '--traces-limits-v2', 'config/traces-limits-v2.toml', '--smart-contract-errors', 'config/smart-contract-errors.toml', '--gas-price-cap-time-of-day-multipliers', 'config/gas-price-cap-time-of-day-multipliers.toml', 'config/coordinator-docker.config.toml', 'config/coordinator-docker-traces-v2-override.config.toml' ]
# command: ['echo', 'forced exit to run coordinator in debug mode in IntelliJ']
ports:
# Attach the IDE's remote java debugger to localhost:5005 to debug coordinator
- "5005:5005"
volumes:
- ../config/common/traces-limits-v2.toml:/opt/consensys/linea/coordinator/config/traces-limits-v2.toml:ro
- ../config/coordinator/coordinator-docker-traces-v2-override.config.toml:/opt/consensys/linea/coordinator/config/coordinator-docker-traces-v2-override.config.toml:ro
- ../tmp/local/:/data/
zkbesu-shomei:
environment:
JAVA_OPTS: -XX:+UnlockExperimentalVMOptions -XX:-UseG1GC -XX:+UseZGC
l1-el-node:
environment:
JAVA_OPTS: -XX:+UnlockExperimentalVMOptions -XX:-UseG1GC -XX:+UseZGC