Docker
[Author: Dood]
System Requirements
CPU
OS
RAM
DISK
4c/8t
Debian 12
>=16GB
>= 1TB SSD/NVME
This guide was tested with Debian 12 but, should run on every OS that can run Docker
📜 Scroll
Unofficial Docs & Support:
Github
Prerequisites
If not already installed, install Docker
Setting Up a Firewall
Add a rule to block all traffic on the port:
iptables -I DOCKER-USER -p tcp --dport 8545 -j DROP
Add a rule for access:
iptables -I DOCKER-USER -p tcp --dport 8545 -s $YOURIP$ -j ACCEPT
Replace $YOURIP$ with the ip you want to access the RPC from.
Create docker-compose.yml
If possible, replace '--l1.endpoint "https://eth.llamarpc.com"' with your own L1 Ethereum endpoint.
nano docker-compose.yml
version: "3.1"
services:
scroll:
container_name: scroll
image: scrolltech/l2geth:scroll-v5.1.10
restart: unless-stopped
volumes:
- scroll:/scroll-datadir
ports:
- 8545:8545
command: |
--scroll
--datadir "./scroll-datadir"
--gcmode archive
--syncmode full
--cache.noprefetch
--http
--http.corsdomain "*"
--http.vhosts "*"
--http.addr "0.0.0.0"
--http.port 8545
--http.api "eth,net,web3,debug,scroll"
--l1.endpoint "https://eth.llamarpc.com"
--rollup.verify
--l1.confirmations finalized
--verbosity=3
--metrics
--metrics.addr "0.0.0.0"
--metrics.port 6060
--maxpeers 100
--nat "extip:0.0.0.0"
--port 30303
volumes:
scroll:
Start the container
docker compose up -d
Useful tips
View Logs via
docker logs -f scroll
Get Sync status via curl
Replace $YOURIP$ with the IP of your server
curl -H "Content-type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' $YOURIP$:8545
curl -H "Content-type: application/json" -X POST --data '{"jsonrpc":"2.0","method":"scroll_syncStatus","params":[],"id":1}' $YOURIP$:8545
References
Last updated
Was this helpful?