Skip to content

docs: add celestia-app Docker setup guide#2438

Open
jcstein wants to merge 1 commit intomainfrom
codex/issue-1100-celestia-app-docker
Open

docs: add celestia-app Docker setup guide#2438
jcstein wants to merge 1 commit intomainfrom
codex/issue-1100-celestia-app-docker

Conversation

@jcstein
Copy link
Copy Markdown
Member

@jcstein jcstein commented Mar 6, 2026

Summary

  • add a dedicated celestia-app Docker guide under consensus validators
  • document quick start with persistent storage, genesis download, and peer config
  • add a Docker network example for running celestia-node against containerized celestia-app
  • add cross-links from existing Docker and install pages

Closes #1100

Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

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

Code Review

This pull request adds a new documentation page for running celestia-app with Docker. The new guide is comprehensive and covers prerequisites, a quick start guide with persistent storage, and instructions for running celestia-node against the containerized celestia-app. The changes also include adding cross-links from other relevant pages. My review focuses on the new documentation file. I've found a few minor issues in the shell commands for configuring persistent peers. The commands can be improved for correctness and consistency by properly handling trailing commas in the peer lists. I've provided suggestions to fix these.

<Tabs items={['Mainnet Beta', 'Mocha', 'Arabica']}>
<Tabs.Tab>
```bash
PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/cosmos/chain-registry/master/{{constants['mainnetChainId']}}/chain.json | jq -r '.peers.persistent_peers[].address' | tr '\n' ',' | sed 's/,$/\n/')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

The sed 's/,$/\n/' command at the end of this pipeline replaces the trailing comma with a newline character. This results in the PERSISTENT_PEERS variable containing a trailing newline, which will be written into the config.toml file. This is likely not the intended behavior. To simply remove the trailing comma, sed 's/,$//' should be used instead.

    PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/cosmos/chain-registry/master/{{constants['mainnetChainId']}}/chain.json | jq -r '.peers.persistent_peers[].address' | tr '\n' ',' | sed 's/,$//')

</Tabs.Tab>
<Tabs.Tab>
```bash
PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/{{constants['mochaChainId']}}/peers.txt | tr '\n' ',')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This command will produce a comma-separated list of peers with a trailing comma. While this may be valid, it's cleaner to remove the trailing comma for correctness and consistency. You can pipe the output to sed 's/,$//' to remove it.

    PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/{{constants['mochaChainId']}}/peers.txt | tr '\n' ',' | sed 's/,$//')

</Tabs.Tab>
<Tabs.Tab>
```bash
PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/{{constants['arabicaChainId']}}/peers.txt | tr '\n' ',')
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

medium

This command will produce a comma-separated list of peers with a trailing comma. While this may be valid, it's cleaner to remove the trailing comma for correctness and consistency. You can pipe the output to sed 's/,$//' to remove it.

    PERSISTENT_PEERS=$(curl -sL https://raw.githubusercontent.com/celestiaorg/networks/master/{{constants['arabicaChainId']}}/peers.txt | tr '\n' ',' | sed 's/,$//')

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 6, 2026

🚀 Preview Deployment

Your preview is ready: https://celestiaorg.github.io/docs-preview/pr-2438/

Copilot AI added a commit that referenced this pull request Mar 6, 2026
Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com>
@jcstein jcstein self-assigned this Mar 6, 2026
@celestiaorg celestiaorg deleted a comment from gemini-code-assist bot Mar 6, 2026
@jcstein jcstein requested a review from Copilot March 7, 2026 06:11
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds a dedicated Docker-based setup guide for running celestia-app (consensus) and cross-links it from existing celestia-node Docker and celestia-app install documentation.

Changes:

  • Add new celestia-app Docker guide with persistent storage, genesis download, peer configuration, and a shared-network example with celestia-node.
  • Cross-link the new guide from the existing celestia-node Docker page and celestia-app install page.
  • Register the new Docker guide in the consensus validators sidebar metadata.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 2 comments.

File Description
app/operate/getting-started/docker/page.mdx Adds a link to the new celestia-app Docker guide from the celestia-node Docker page.
app/operate/consensus-validators/install-celestia-app/page.mdx Adds a link to Docker-based setup instructions for celestia-app.
app/operate/consensus-validators/docker/page.mdx New page documenting how to run celestia-app via Docker, plus a shared Docker network example with celestia-node.
app/operate/consensus-validators/_meta.js Adds the new Docker guide entry to the consensus validators sidebar.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +117 to +125
docker run -d \
--name celestia-app \
--restart unless-stopped \
-v $HOME/celestia-app-docker:/home/celestia/.celestia-app \
-p 26656:26656 \
-p 26657:26657 \
-p 9090:9090 \
ghcr.io/celestiaorg/celestia-app:$APP_VERSION \
start --home /home/celestia/.celestia-app --rpc.laddr tcp://0.0.0.0:26657
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

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

The command publishes Tendermint RPC (26657) and gRPC (9090) on all host interfaces and explicitly binds RPC to 0.0.0.0 inside the container. This can unintentionally expose admin/control endpoints when run on a public server. Consider restricting published ports to localhost (e.g., 127.0.0.1:26657:26657 / 127.0.0.1:9090:9090), or add a warning callout explaining the exposure and when it’s safe to do so.

Copilot uses AI. Check for mistakes.
Comment on lines +157 to +167
docker run -d \
--name celestia-app \
--restart unless-stopped \
--network celestia-network \
--network-alias celestia-app \
-v $HOME/celestia-app-docker:/home/celestia/.celestia-app \
-p 26656:26656 \
-p 26657:26657 \
-p 9090:9090 \
ghcr.io/celestiaorg/celestia-app:$APP_VERSION \
start --home /home/celestia/.celestia-app --rpc.laddr tcp://0.0.0.0:26657
Copy link

Copilot AI Mar 7, 2026

Choose a reason for hiding this comment

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

This second docker run example also publishes 26657/9090 to the host and binds RPC to 0.0.0.0, even though celestia-node can reach celestia-app via the shared Docker network. To reduce accidental exposure, consider omitting host port publishing here (or binding published ports to 127.0.0.1) and/or adding a short warning about running with these ports open on public hosts.

Copilot uses AI. Check for mistakes.
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.

feat: add documentation for running celestia-app docker images

2 participants