-
Notifications
You must be signed in to change notification settings - Fork 971
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
docker: Create a single Dockerfile that works for full and light celestia-node
s
#295
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Co-authored-by: Nguyen Nhu Viet <[email protected]>
I don't believe we should change the name of the Dockerfile. This Dockerfile is intentionally designed to work with both full nodes (now bridge nodes) and light nodes, you just pass different environment variables and startup commands. See an example of a full/bridge node and a light node. Also keep in mind that the env vars set in the Dockerfile are only defaults that should be overwritten later. From the docs:
|
Lint should be resolved after #308 is merged |
Co-authored-by: Nguyen Nhu Viet <[email protected]>
@jbowen93 Okay as long as eventually we have automation for pushing three different images to dockerhub on release, one for bridge, full, and light so that people can just pull and run. |
celestia-node
scelestia-node
s
Just clarifying some more. This image supports multiple node types at run time. There is no need to push different images. Full node (will rename to bridge)
light node
I did a quick manual test for this:
|
…estia-node`s (celestiaorg#295) * Working Dockerfile * update changelog * .github/workflows/lint: always use latest version of linter * Add comment to Dockerfile linking to issue requiring SLEEP Co-authored-by: Nguyen Nhu Viet <[email protected]> * changelog: add entry for celestiaorg#308 * Update .github/workflows/lint.yml Co-authored-by: Nguyen Nhu Viet <[email protected]> * Working Dockerfile * update changelog * Add comment to Dockerfile linking to issue requiring SLEEP Co-authored-by: Nguyen Nhu Viet <[email protected]> * Remove sleep from Dockerfile and entrypoint.sh Co-authored-by: Wondertan <[email protected]> Co-authored-by: Nguyen Nhu Viet <[email protected]>
Create a new
Dockerfile
that works for both celestia-node full and light nodes while matching the expectations of both the docker-compose and k8s cluster setups.At runtime the a
NODE_TYPE
environment variable matching eitherfull
orlight
is expected.If not provided it defaults to
full
.For examples see the docker-compose config and the k8s config.
This has been manually tested by building the Docker image
and then testing it with docker-compose
and with kubernetes