Skip to content
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

fix: point nwaku to proper docker repo and image version #217

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

chaitanyaprem
Copy link
Contributor

@chaitanyaprem chaitanyaprem commented Sep 16, 2024

nwaku docker image reference links were pointing to an older dockerhub which is no longer in use and hence causes confusion to new users who want to follow the docs and run nwaku.

eg https://discord.com/channels/1110799176264056863/1283827014578602015

For now I have updated all references of docker image to use the new repo and version

@Ivansete-status @gabrielmer , was wondering if users can still nwaku node without RLN and connect to the network and send messages? If not, maybe we should change the docs to address this.

i see that following needs to be done:

  • whoever wants to use/connect to RLN network as them to use docker-compose to run
  • provide a config to be able to run node without docker-compose and just run from command-line or simple docker image

Copy link

vercel bot commented Sep 16, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
docs-waku-org ✅ Ready (Inspect) Visit Preview 💬 Add feedback Sep 30, 2024 5:43am

Copy link
Contributor

@gabrielmer gabrielmer left a comment

Choose a reason for hiding this comment

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

Thanks so much!

In order to send messages in TWN, RLN is needed. However, a node can receive and relay messages without an RLN registration.

nwaku-compose start script requires a membership but as you said, we can provide a way to run it without RLN if it provides any value for the users

@chaitanyaprem
Copy link
Contributor Author

In order to send messages in TWN, RLN is needed. However, a node can receive and relay messages without an RLN registration.

right, for a node to just relay msgs RLN is not needed...forgot about that.

nwaku-compose start script requires a membership but as you said, we can provide a way to run it without RLN if it provides any value for the users

i am not talking about compose, but if someone wants to run nwaku image only via docker as per instructions, will it still work or do we need to update the instructions?

@gabrielmer
Copy link
Contributor

i am not talking about compose, but if someone wants to run nwaku image only via docker as per instructions, will it still work or do we need to update the instructions?

I tried the instructions. So if someone runs

docker run -i -t -p 60000:60000 -p 9000:9000/udp wakuorg/nwaku:v0.32.0 \
  --dns-discovery=true \
  --dns-discovery-url=enrtree://AIRVQ5DDA4FFWLRBCHJWUWOO6X6S4ZTZ5B667LQ6AJU6PEYDLRD5O@sandbox.waku.nodes.status.im \
  --discv5-discovery=true

it "works", but it runs on cluster 0 and it is not subscribed to anything

in order to run in TWN we should add --cluster-id=1 and --rln-relay-eth-client-address=<SEPOLIA_ENDPOINT> but when trying to test it, syncing the RLN tree is taking waaaay too long.

It's not really a good user experience starting the tree sync from scratch. Not sure if it will be simpler to stick to cluster 0 in examples outside of nwaku-compose or not

@chaitanyaprem
Copy link
Contributor Author

it "works", but it runs on cluster 0 and it is not subscribed to anything

ah, that won't be useful at all.

It's not really a good user experience starting the tree sync from scratch. Not sure if it will be simpler to stick to cluster 0 in examples outside of nwaku-compose or not

yep, is there a way we can ask user to use an existing synced tree? but again someone needs to keep updating it, not sure how to solve that.

@NagyZoltanPeter
Copy link
Contributor

it "works", but it runs on cluster 0 and it is not subscribed to anything

ah, that won't be useful at all.

It's not really a good user experience starting the tree sync from scratch. Not sure if it will be simpler to stick to cluster 0 in examples outside of nwaku-compose or not

yep, is there a way we can ask user to use an existing synced tree? but again someone needs to keep updating it, not sure how to solve that.

Maybe we can mention that, if someone wants to build on TWN better use nwaku-compose (there are instructions already), otherwise if one wants to build his own infra... than might use this simple docker approach.

Copy link
Contributor

@NagyZoltanPeter NagyZoltanPeter left a comment

Choose a reason for hiding this comment

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

Whish for more generic tag, but up until it is way better now.

@@ -45,7 +45,7 @@ docker run [OPTIONS] [IMAGE] [ARG...]
Run `nwaku` using the most typical configuration:

```shell
docker run -i -t -p 60000:60000 -p 9000:9000/udp statusteam/nim-waku:v0.20.0 \
docker run -i -t -p 60000:60000 -p 9000:9000/udp wakuorg/nwaku:v0.32.0 \
Copy link
Contributor

Choose a reason for hiding this comment

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

Yes, here we would need a generic tag on docker hub also (as we had it before on harbor), like latest-release or so.

@gabrielmer
Copy link
Contributor

Maybe we can mention that, if someone wants to build on TWN better use nwaku-compose (there are instructions already), otherwise if one wants to build his own infra... than might use this simple docker approach.

Yes I also agree with this approach :)

@chaitanyaprem
Copy link
Contributor Author

Maybe we can mention that, if someone wants to build on TWN better use nwaku-compose (there are instructions already), otherwise if one wants to build his own infra... than might use this simple docker approach.

i am also fine with this approach, but how should we change the documentation then? Because we don't have instructions to run with specific clusterID etc. Suggestions or addition to this PR are welcome :)

@gabrielmer
Copy link
Contributor

gabrielmer commented Sep 16, 2024

i am also fine with this approach, but how should we change the documentation then? Because we don't have instructions to run with specific clusterID etc. Suggestions or addition to this PR are welcome :)

Maybe after

"
Run nwaku using the most typical configuration:

docker run -i -t -p 60000:60000 -p 9000:9000/udp wakuorg/nwaku:v0.32.0 \
  --dns-discovery=true \
  --dns-discovery-url=enrtree://AIRVQ5DDA4FFWLRBCHJWUWOO6X6S4ZTZ5B667LQ6AJU6PEYDLRD5O@sandbox.waku.nodes.status.im \
  --discv5-discovery=true \
  --nat=extip:[YOUR PUBLIC IP] # or, if you are behind a nat: --nat=any

To find your public IP, use:

dig TXT +short o-o.myaddr.l.google.com @ns1.google.com | awk -F'"' '{ print $2}'

"

we can add

"
For more detailed information about all possible configurations, please run

docker run -t wakuorg/nwaku:v0.32.0 --help

:::info
Note that running a node in The Waku Network (--cluster-id=1) requires a special set of configurations and therefore, it is recommended to run in this case with docker compose
:::
"

(the docker-compose link won't be properly previewed on this comment, but it should work on the docs website)

WDYT?

@fryorcraken
Copy link
Contributor

@chaitanyaprem looks good. can you update and also use latest tag?

@chaitanyaprem
Copy link
Contributor Author

can you update and also use latest tag?

the plan was to update to use something called latest-release so that users don't end up using latest master(which may have bugs). But for some reason the latest-release tag is not being propagated to dockerhub repo. Once that is fixed, we can update it again?

@fryorcraken
Copy link
Contributor

fryorcraken commented Oct 1, 2024

But for some reason the latest-release tag is not being propagated to dockerhub repo.

have you checked with nwaku team or infra? Yes, happy to merge as is.

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.

5 participants