services: scroll: image: scrolltech/l2geth:${SCROLL_GETH_VERSION:-scroll-v5.7.25} expose: - 8545 ports: - "36554:36554" - "36554:36554/udp" command: > --scroll --syncmode=full --gcmode=archive --port=36554 --nat=extip:$IP --cache=8192 --ws --ws.port=8545 --ws.addr=0.0.0.0 --ws.origins=* --http --http.port=8545 --http.addr=0.0.0.0 --http.vhosts=* --l1.endpoint="${SCROLL_L1_ETHEREUM_MAINNET_EXECUTION_RPC}" --rollup.verify --graphql --graphql.vhosts=* --metrics --metrics.addr=0.0.0.0 --maxpeers=100 --gpo.ignoreprice=1 --cache.noprefetch networks: - chains volumes: - "${SCROLL_MAINNET_L2GETH_ARCHIVE_DATA:-scroll-mainnet-l2geth-archive}:/root/.ethereum" - ".jwtsecret:/jwtsecret" restart: unless-stopped stop_grace_period: 5m labels: - "traefik.enable=true" - "traefik.http.middlewares.scroll-mainnet-l2geth-archive-stripprefix.stripprefix.prefixes=/scroll" - "traefik.http.services.scroll-mainnet-l2geth-archive.loadbalancer.server.port=8545" - "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.entrypoints=websecure}" - "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.tls.certresolver=myresolver}" - "${NO_SSL:-traefik.http.routers.scroll-mainnet-l2geth-archive.rule=Host(`$DOMAIN`) && PathPrefix(`/scroll`)}" - "${NO_SSL:+traefik.http.routers.scroll-mainnet-l2geth-archive.rule=PathPrefix(`/scroll`)}" - "traefik.http.routers.scroll-mainnet-l2geth-archive.middlewares=scroll-mainnet-l2geth-archive-stripprefix, ipwhitelist" volumes: scroll-mainnet-l2geth-archive: