Files
ethereum-rpc-docker/linea-mainnet-erigon-v2-archive-trace.yml
Sebastian 1c373bc8bc fix
2025-03-05 14:22:48 +01:00

93 lines
3.6 KiB
YAML

version: '3.1'
services:
linea-erigon-init:
image: alpine:latest
entrypoint: ["/bin/sh", "-c"]
command:
- |
apk add --no-cache openssl xxd;
mkdir -p /config;
if [ ! -f /config/nodekey ]; then
echo "Generating new Geth node key...";
openssl rand 32 | xxd -p -c 32 | tr -d '\n' > /configs/mainnet/shared/nodekey;
echo "Node key generated: $(cat /config/nodekey)";
else
echo "Node key already exists, skipping generation.";
fi
volumes:
- ./linea/shared:/configs/mainnet/shared
init: true
linea-erigon:
image: erigontech/erigon:${ERIGON2_VERSION:-v2.61.0}
user: root
depends_on:
- linea-erigon-init
expose:
- "51262"
- "9090"
- "8545"
- "8551"
ports:
- "30319:30319"
- "30319:30319/udp"
- "48799:48799"
- "48799:48799/udp"
- "18025:18025"
- "18025:18025/udp"
volumes:
- ${LINEA-MAINNET-ERIGON-V2-ARCHIVE-TRACE:-linea-mainnet-erigon-v2-archive-trace}:/root/.local/share/erigon
- ./linea/shared:/configs/mainnet/shared
- ./linea/erigon/scripts/entrypoint.sh:/entrypoint.sh
networks:
- chains
entrypoint: /entrypoint.sh
environment:
- "IP=${IP}"
command: >
--chain=mainnet
--networkid=59144
--miner.gaslimit=61000000
--txpool.accountqueue 50000
--txpool.globalqueue 50000
--txpool.globalslots 50000
--txpool.pricelimit 1000000000
--txpool.nolocals
--nodekey /configs/mainnet/shared/nodekey
--nat=extip:${IP}
--snapshots=false
--port=30319
--p2p.allowed-ports 18025
--p2p.allowed-ports 48799
--bootnodes=enode://ca2f06aa93728e2883ff02b0c2076329e475fe667a48035b4f77711ea41a73cf6cb2ff232804c49538ad77794185d83295b57ddd2be79eefc50a9dd5c48bbb2e@3.128.49.168:30303,enode://eef91d714494a1ceb6e06e5ce96fe5d7d25d3701b2d2e68c042b33d5fa0e4bf134116e06947b3f40b0f22db08f104504dd2e5c790d8bcbb6bfb1b7f4f85313ec@3.130.182.201:30303,enode://cfd472842582c422c7c98b0f2d04c6bf21d1afb2c767f72b032f7ea89c03a7abdaf4855b7cb2dc9ae7509836064ba8d817572cf7421ba106ac87857836fa1d1b@3.136.114.192:30303
--metrics --metrics.addr=0.0.0.0 --metrics.port=6060
--private.api.addr=0.0.0.0:9090
--pprof
--pprof.addr=0.0.0.0
--pprof.port=6061
--authrpc.addr=0.0.0.0
--authrpc.vhosts=*
--authrpc.jwtsecret=/jwtsecret
--http.addr=0.0.0.0
--http.vhosts=*
--http.corsdomain=*
--http.api=eth,erigon,web3,net,debug,trace,txpool,admin
--rpc.returndata.limit=1000000
--rpc.gascap=5000000000
--ws
--ws.port=8545
restart: unless-stopped
stop_grace_period: 1m
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.linea-mainnet-erigon-v2-archive-trace-stripprefix.stripprefix.prefixes=/linea-erigon"
- "traefik.http.services.linea-mainnet-erigon-v2-archive-trace.loadbalancer.server.port=8545"
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.entrypoints=websecure"
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.tls.certresolver=myresolver"
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.rule=Host(`$DOMAIN`) && PathPrefix(`/linea-erigon`)"
- "traefik.http.routers.linea-mainnet-erigon-v2-archive-trace.middlewares=linea-mainnet-erigon-v2-archive-trace-stripprefix, ipwhitelist"
volumes:
linea-mainnet-erigon-v2-archive-trace: