Skip to main content

Docker Compose Quickstart

services:
mina_node:
image: 'minaprotocol/mina-daemon-auto-hardfork:<version>-noble-mainnet'
restart: always
environment:
MINA_CLIENT_TRUSTLIST: "0.0.0.0/0"
entrypoint: []
command: >
bash -c '
mina daemon \
--peer-list-url https://bootnodes.minaprotocol.com/networks/mainnet.txt \
--insecure-rest-server \
--rest-port 3085 \
--hardfork-handling migrate-exit
'
volumes:
- './mina-config:/root/.mina-config'
ports:
- '3085:3085'
- '8302:8302'

Replace <version> with the published stop-slot release from the Mina releases page.

Docker image tag

Use the stop-slot release image for your target network. For devnet, replace the image tag suffix mainnet with devnet and use the corresponding devnet release tag.

Peer list URL

The --peer-list-url above points to the mainnet bootnodes. For devnet, replace it with https://bootnodes.minaprotocol.com/networks/devnet.txt.

Additional environment variables

Add any extra configuration (e.g. MINA_PRIVKEY_PASS) under the environment section.

Switching back to normal Docker

After your node has completed the Mesa transition and you want to move off mina-daemon-auto-hardfork, update your Compose config as follows:

  • Remove --hardfork-handling migrate-exit.
  • Set the Docker image to the post-fork artifact, for example minaprotocol/mina-daemon:<mesa-version>-noble-mainnet.
docker compose up -d
caution

restart: always and the persistent mina-config volume are required for automode. If the volume is wiped between restarts, the node cannot transition to Mesa. See Upgrade Modes for details.