For the complete documentation index, see llms.txt. This page is also available as Markdown.

Run a Rollup with Docker Compose

Deploy a complete ADI Rollup — sequencer, external node, GPU provers, bridge, and block explorers — using Docker Compose.

This guide walks you through deploying a complete ADI Rollup stack using Docker Compose. The deployment is modular — start the core chain, then layer on infrastructure services as needed.

The stack is split into three compose files:

Warning: The Bridge requires the Block Explorer to function. Blockscout is an additional explorer with contract verification support, but it cannot replace the Block Explorer for bridge operations.


Prerequisites

Hardware Requirements

Component
CPU
RAM
GPU VRAM
Storage

Sequencer

8+ cores

16 GB+

100 GB SSD

External Node

4+ cores

8 GB+

100 GB SSD

FRI Prover

4+ cores

16 GB+

32 GB+

50 GB

SNARK Prover

4+ cores

32 GB+

32 GB+

50 GB

Infrastructure (Explorer + Bridge)

2+ cores

4 GB+

20 GB

Note: The entire stack (sequencer + provers) can run on a single machine with ~80 GB of system RAM. SNARK provers with less than 32 GB VRAM will fail with out-of-memory errors.

Software Requirements

  • Docker Engine 24.0+ with Compose V2

  • NVIDIA Container Toolkit — required for GPU provers

  • NVIDIA drivers with CUDA 12.2+ support

  • A genesis.json configuration file for your chain

  • A settlement-layer RPC endpoint. For L3s on ADI, use ADI Chain

Verify Docker and GPU Setup

Tip: If both commands return version information and the GPU test container runs successfully, your environment is ready.


Directory Structure

Create the following layout on your server:

Save genesis.json

Place your chain’s genesis.json file in the project root so the compose files can mount it into the server containers:

l1_chain_id in genesis.json is the chain ID of your settlement layer. For L3s on ADI, use 36900 on mainnet or 99999 on testnet. adi init sets this automatically. Do not edit it manually.


Environment Configuration

Create a .env file with your chain parameters. All compose files read from this shared configuration.

For L3 chains, L1_RPC_URL points to your settlement layer. On ADI, that means ADI Chain. For L2 external nodes, it points to Ethereum. The variable name is inherited from zkSync OS upstream.

Warning: Never commit .env to version control. It contains private keys and secrets. Use dedicated operator wallets — never use keys holding significant funds.


Next Steps

Once your .env is configured, proceed to deploy each stack:

  1. Core Stack — Sequencer, External Node, and GPU Provers

  2. Infrastructure Stack — Block Explorer and Bridge

  3. Blockscout Explorer — Optional, for contract verification

  4. Operations — Running, monitoring, GPU configuration, and troubleshooting

  5. Configuration Reference — Full list of environment variables

Last updated