Skip to main content
This page documents the .env variables and the key client flags used by the celo-l2-node-docker-compose setup. For the exhaustive command-line flag references, see the Optimism op-reth config and op-node config docs.
Execution client: op-rethThe variables below configure op-reth, Celo’s primary execution client. The op-geth equivalents remain valid until your network’s switch date — see the op-geth variables accordion below and End of Support for op-geth.

Node type and sync

op-reth syncs by executing every block. A new node starts from an empty datadir (see Run a node with Docker); datadirs written by op-geth cannot be reused. For archive nodes, see Running an archive node.

L1 connection

Historical state (pre-hardfork)

An L2 archive node serves pre-hardfork state by proxying to a legacy Celo L1 archive node. See Running an archive node for the full setup.

Networking (P2P)

Configure these so other nodes can discover and reach yours. If they are wrong, your node may fail to stay connected and synced.

Ports

Each PORT__* variable overrides a default exposed in docker-compose.yml. Defaults:

Data directory

Key client flags

These flags are set for you by the compose start scripts; they are listed here because they are the Celo-specific ones operators most often need to know about.
  • --rollup.sequencer (op-reth, set via OP_RETH__SEQUENCER_URL) — the sequencer that transactions submitted to your node are forwarded to. Mainnet: https://cel2-sequencer.celo.org; Celo Sepolia: https://sequencer.celo-sepolia.celo-testnet.org. If this is wrong, transactions submitted to your node are not executed.
  • --syncmode=execution-layer (op-node) — op-node syncs via the execution client rather than the deprecated consensus-layer req/resp path. See Deprecation of Req/Res CL P2P Sync.
  • --l2.enginekind=reth (op-node) — tells op-node which execution client it is driving. It is set to reth for op-reth.
  • --metrics.enabled (op-node) — exposes Prometheus metrics on port 7300. See Monitoring & metrics.
For every other op-reth/op-node flag, see the Optimism op-reth config and op-node config references.
If you are still running op-geth from an older checkout of celo-l2-node-docker-compose, use these equivalents in place of their OP_RETH__ counterparts. They stop working once your network reaches its switch date.Key op-geth flags: --rollup.sequencerhttp (sequencer endpoint), --history.transactions=0 (index the full transaction history), and --l2.enginekind=geth on op-node.

Monitoring

Set MONITORING_ENABLED=true to start the Grafana, Prometheus, InfluxDB, and healthcheck stack. See Monitoring & metrics.