Skip to content

Rewrite all four docker-compose pages as reference wrappers (Rosetta pattern)#1175

Open
dkijania wants to merge 2 commits into
mainfrom
dkijania/fix-docker-compose
Open

Rewrite all four docker-compose pages as reference wrappers (Rosetta pattern)#1175
dkijania wants to merge 2 commits into
mainfrom
dkijania/fix-docker-compose

Conversation

@dkijania
Copy link
Copy Markdown
Member

@dkijania dkijania commented Apr 1, 2026

Resolves #1200. Blocked on MinaProtocol/mina#18827 until canonical recipes land on develop.

Summary

  • Rewrites all four node-operator docker-compose.mdx pages as thin narrative wrappers that link to canonical recipes in MinaProtocol/mina, mirroring the existing pattern in docs/exchange-operators/rosetta/docker-compose.mdx.
  • Removes ~600 lines of inline docker-compose.yml YAML across the four pages — image tags, image names, and daemon flags now live in one place (the mina repo) instead of being copy/pasted into mdx and drifting every release.
  • Adds the two pages that were missing from the earlier scope (snark-workers, seed-peers) — original PR only covered block-producer and archive-node.

Pages rewritten

Page Now points at
docs/node-operators/block-producer-node/docker-compose.mdx mina/src/app/cli/docker-compose/block-producer/
docs/node-operators/snark-workers/docker-compose.mdx mina/src/app/cli/docker-compose/snark-worker/
docs/node-operators/seed-peers/docker-compose.mdx mina/src/app/cli/docker-compose/seed-peer/
docs/node-operators/archive-node/docker-compose.mdx mina/src/app/archive/docker-compose/

Plus regenerated static/llms-full.txt.

Section structure (consistent across all four pages)

Mirrors docs/exchange-operators/rosetta/docker-compose.mdx:

  1. Intro paragraph linking to the canonical dir in mina
  2. Quick start (git clone + cp env + vi .env + docker compose up -d / make)
  3. Services overview (table)
  4. Configuration tables (Docker images / Network / Ports / role-specific tunables)
  5. Data persistence
  6. Make targets
  7. Verifying the deployment
  8. Clean start (with explicit warnings about key loss)

Why reference, not embed

The Rosetta page proves the pattern: a dense scrapeable wrapper that describes the contract (services, env vars, ports, make targets) while the actual docker-compose.yml — the part that drifts every release — lives in the mina repo as a single source of truth. Modern coding agents (Claude Code, Cursor) follow GitHub links and clone repos; they get a runnable workflow rather than YAML to paste, and they always see current tags. Naive RAG indexers are already served by static/llms-full.txt at the bundle level, so embedding YAML in mdx wasn't doing anything for them either.

See #1195 for the broader discoverability context this fits into.

Test plan

  • Block producer page renders cleanly on the Vercel preview.
  • Archive node page renders cleanly on the Vercel preview.
  • SNARK workers page renders cleanly on the Vercel preview.
  • Seed peers page renders cleanly on the Vercel preview.
  • All four mina/... URLs resolve once Add Docker Compose deployment recipes for block-producer, snark-worker, seed-peer, and archive mina#18827 merges to develop.
  • check-llms-txt CI check passes (regenerated and committed).
  • validate-docker-images passes (the four touched pages no longer have inline tags; pre-existing tags in node-operators/data-and-history/rosetta.mdx and exchange-operators/rosetta/run-with-docker.mdx are unchanged).

Follow-up

Optional drift-detection CI in a separate PR: assert every github.com/MinaProtocol/mina/... URL in these pages resolves on the referenced branch, and that env-var / make-target tables match the canonical files. Mentioned in #1200.

🤖 Generated with Claude Code

@vercel
Copy link
Copy Markdown

vercel Bot commented Apr 1, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
docs2 Ready Ready Preview, Comment May 6, 2026 3:41pm

Request Review

Follow the pattern established by the Rosetta docker-compose page:
- Use .env file for all configuration (images, network, ports, passwords)
- Add health checks to daemon services
- Add libp2p key generation to block producer
- Add data persistence and services overview tables
- Add verification and clean start sections
- Remove hardcoded image versions from docker-compose.yml

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Replaces inline docker-compose YAML in the four node-operator pages
(block-producer-node, archive-node, snark-workers, seed-peers) with
narrative wrappers that link to canonical recipes maintained in
MinaProtocol/mina, mirroring the existing pattern in
docs/exchange-operators/rosetta/docker-compose.mdx.

The canonical recipes live in MinaProtocol/mina#18827:
- src/app/cli/docker-compose/block-producer/
- src/app/cli/docker-compose/snark-worker/
- src/app/cli/docker-compose/seed-peer/
- src/app/archive/docker-compose/

Each page now follows the Rosetta section order: Quick start /
Services overview / Configuration tables / Data persistence /
Make targets / Verifying the deployment / Clean start.

Eliminates the inline-YAML drift problem — image tags, image names,
and daemon flags now live in one place (the mina repo) instead of
being maintained in parallel across docs2 mdx files.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@dkijania dkijania changed the title Rewrite block producer and archive docker-compose pages Rewrite all four docker-compose pages as reference wrappers (Rosetta pattern) May 6, 2026
@dkijania dkijania marked this pull request as draft May 6, 2026 15:41
@dkijania dkijania marked this pull request as ready for review May 6, 2026 18:26
title: Docker Compose Seed Peers
sidebar_label: Docker Compose example
description: Example of how to run a Mina Seed node using Docker Compose.
description: Run a Mina Seed node using Docker Compose.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

BTW, I'm curious on the value of actually running a seed node. Is it discoverable by new nodes joining in the network? AFAIK, we only use the seeds in the peer list url as "verified" seeds at the moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate docker-compose pages to reference pattern (Rosetta-style)

2 participants