Conversation
There was a problem hiding this comment.
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/') |
There was a problem hiding this comment.
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' ',') |
There was a problem hiding this comment.
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' ',') |
There was a problem hiding this comment.
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/,$//')
|
🚀 Preview Deployment Your preview is ready: https://celestiaorg.github.io/docs-preview/pr-2438/ |
Co-authored-by: jcstein <46639943+jcstein@users.noreply.github.com>
There was a problem hiding this comment.
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-appDocker guide with persistent storage, genesis download, peer configuration, and a shared-network example withcelestia-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.
| 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 |
There was a problem hiding this comment.
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.
| 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 |
There was a problem hiding this comment.
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.
Summary
celestia-appDocker guide under consensus validatorscelestia-nodeagainst containerizedcelestia-appCloses #1100