Created
May 29, 2025 09:42
-
-
Save jcstein/6407ed9bc1368416eab2660866f460dd to your computer and use it in GitHub Desktop.
light node v0.22.2-mocha
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: "3.8" | |
services: | |
celestia-node: | |
image: ghcr.io/celestiaorg/celestia-node:v0.22.2-mocha | |
container_name: celestia-node | |
entrypoint: ["/bin/sh", "-c"] | |
command: > | |
'if [ ! -d "/home/celestia/.celestia-light-mocha-4" ]; then | |
echo "Running init..."; | |
celestia light init --p2p.network mocha; | |
fi; | |
echo "Starting light node..."; | |
celestia light start | |
--core.ip rpc-mocha.pops.one | |
--core.port 9090 | |
--p2p.network mocha | |
--rpc.skip-auth | |
--rpc.addr 0.0.0.0' | |
volumes: | |
- celestia-data:/home/celestia | |
networks: | |
- celestia-network | |
ports: | |
- "26658:26658" | |
restart: unless-stopped | |
volumes: | |
celestia-data: | |
driver: local | |
networks: | |
celestia-network: | |
driver: bridge |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
🧠 AI Summary: Why the Original Docker Compose Setup Failed and How the Fixed Version Works
The original multi-container setup split
celestia light init
andcelestia light start
into separate services, relying on a shared volume anddepends_on
. This caused unreliable behavior because:docker-compose
doesn’t guarantee that the init container fully completes and flushes data before the start container begins.celestia
CLI silently defaults tobridge init
, writing bridge configs and keys to/home/celestia
.✅ The fixed version runs everything in a single container with a shell-script
entrypoint
, which:.celestia-light-mocha-4
and only runsinit
if neededconfig.toml
before starting the nodeIt also uses the correct Mocha-specific image (
v0.22.2-mocha
) and production RPC (rpc-mocha.pops.one
), which avoids connection and sync issues.