Celestia Dockerized

Requirements

  • Docker and Docker Compose (Tested on Linux only)

Validator

to run a validator clone this repo on server and cd into it

copy environment file sample to .env and set your configs, if you don't have a wallet already just skip the wallet address for now.

cp .env.sample .env

Build Images

docker compose pull & docker compose build

Initialize configs

docker compose run --rm validator init

Request test token

set your wallet address from previous into .env file , then head to discord and get your test tokens.

Run the validator instance

docker compose up -d validator

wait for your validator to catch up with the rest of network before you proceeding. you can check validator's current info by running this:

docker compose exec validator /opt/helpers.sh validator:sync-info

Create Validator

docker compose exec validator /opt/helpers.sh validator:connect

Delegate to a Validator

docker compose exec validator /opt/helpers.sh validator:delegate <celestiavaloper address> <amount>utia

Bridge Node

Initialize bridge node

docker compose run --rm bridge celestia bridge init && docker compose run --rm bridge celestia bridge start 

Using newly generated account

if you want to stick with generated account, write down mnemonic codes somewhere safe, then run bridge node in background, otherwise if you want to use validator wallet, skip to next part

docker compose up -d bridge

Using same wallet as validator for bridge node

copy keys from validators volume

docker run --rm \
-v celestia-docker_celestia-app:/src \
-v celestia-docker_celestia-bridge-node:/dst \
busybox sh -c "cp -a /src/keyring-test /dst/keys/"

IMPORTANT in .env file change BRIDGE_KEY_RING_ACC_NAME value same as VALIDATOR_WALLET_NAME

run bridge node in background

docker compose up -d bridge

Light Node

Initialize light node

docker compose run --rm light celestia light init && docker compose run --rm light celestia light start 

Using newly generated account

if you want to stick with generated account, write down mnemonic codes somewhere safe, then run light node in background, otherwise if you want to use validator wallet, skip to next part

docker compose up -d light

Using same wallet as validator for light node

copy keys from validators volume

docker run --rm \
-v celestia-docker_celestia-app:/src \
-v celestia-docker_celestia-light-node:/dst \
busybox sh -c "cp -a /src/keyring-test /dst/keys/"

IMPORTANT in .env file change LIGHT_KEY_RING_ACC_NAME value same as VALIDATOR_WALLET_NAME

run light node in background

docker compose up -d light