Skip to content

Commit 6268010

Browse files
committed
fix nwaku compose
1 parent ffae6e8 commit 6268010

File tree

3 files changed

+47
-138
lines changed

3 files changed

+47
-138
lines changed

docs/run-node/index.md

Lines changed: 44 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -6,141 +6,77 @@ displayed_sidebar: runNode
66

77
Nwaku is a lightweight and robust Nim client for running a Waku node, equipped with tools to monitor and maintain a running node. Nwaku is highly configurable, enabling operators to select the [protocols](/learn/concepts/protocols) they want to support based on their needs, motivations, and available resources.
88

9-
## Video Tutorials
9+
## Video Tutorial
1010

1111
<div class="video-container">
1212
<iframe class="yt-video" src="https://www.youtube.com/embed/fs0ynLk4z0I" title="How to run a Waku node using Nwaku Compose" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>
1313
</div>
1414

15-
This guide provides detailed steps to download, build, configure, and connect a `nwaku` node to the Waku Network. It also includes interacting with the node and finding its addresses.
15+
## Quick Start with Docker Compose (Recommended)
1616

17-
:::info
18-
We recommend running a `nwaku` node with at least 2GB of RAM, especially if `WSS` is enabled. If running just a `Relay` node, 0.5GB of RAM is sufficient.
19-
:::
20-
21-
## Get the node binary
22-
23-
To run a node, you must have the `nwaku` binary. Nwaku provides multiple options for running a node:
24-
25-
#### Run nwaku in Docker (recommended)
26-
27-
We recommend [using Docker Compose](/guides/nwaku/run-docker-compose) to run a node because it's the simplest and fastest way to configure and run one:
17+
The easiest way to run a Waku node is using [Docker Compose](/run-node/run-docker-compose). This setup automatically configures:
2818

29-
| | Description | Documentation |
30-
| ---------------- | ---------------------------------------- | ----------------------------------------------------------------- |
31-
| Docker Compose | Run a `nwaku` node with Docker Compose | [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) |
32-
| Docker Container | Run a `nwaku` node in a Docker Container | [Run Nwaku in a Docker Container](/guides/nwaku/run-docker) |
19+
- A `nwaku` node with [Relay](/learn/concepts/protocols#relay), [Store](/learn/concepts/protocols#store), and [RLN](/learn/concepts/protocols#rln-relay) protocols
20+
- A simple web interface to send and receive messages
21+
- Grafana dashboard for monitoring your node
3322

34-
#### Download the binary
23+
### Prerequisites
3524

36-
| | Description | Documentation |
37-
| ------------------ | ------------------------------------------------------------- | ---------------------------------------------------------------------------------- |
38-
| Precompiled Binary | Download a precompiled binary of the `nwaku` node | [Download Nwaku Binary](https://github.com/waku-org/nwaku/tags) |
39-
| Nightly Release | Try the latest `nwaku` updates without compiling the binaries | [Download Nightly Release](https://github.com/waku-org/nwaku/releases/tag/nightly) |
25+
- **Git**
26+
- [Docker](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/)
27+
- **Linea Sepolia RPC endpoint**: You can get a free endpoint from [Infura](https://www.infura.io/) or any other Linea Sepolia RPC provider.
4028

41-
#### Build the binary
42-
43-
| | Description | Documentation |
44-
| ----------------- | ------------------------------------------------------------------------------ | ----------------------------------------------------- |
45-
| Build from Source | Build the node from the [nwaku source code](https://github.com/waku-org/nwaku) | [Build Nwaku from Source](/guides/nwaku/build-source) |
46-
47-
:::tip
48-
You can run the `nwaku` binaries and Docker images on cloud service providers like [Google Cloud](https://cloud.google.com/), [Microsoft Azure](https://azure.microsoft.com/), [Amazon Web Services](https://aws.amazon.com/), and [DigitalOcean](https://www.digitalocean.com/).
29+
:::info System Requirements
30+
We recommend at least 2GB of RAM, especially if WSS is enabled. For a Relay-only node, 0.5GB of RAM is sufficient.
4931
:::
5032

51-
## Run the node
52-
53-
Once you have gotten the `nwaku` binary, run it using the [default configuration](/guides/nwaku/config-methods#default-configuration-values):
33+
### Get Started
5434

5535
```shell
56-
# Run the Docker Compose
57-
docker-compose up -d
36+
# Clone the repository
37+
git clone https://github.com/waku-org/nwaku-compose
38+
cd nwaku-compose
5839

59-
# Run the standalone binary
60-
./build/wakunode2
61-
```
62-
63-
:::tip
64-
To learn how to customise the configuration of a `nwaku` node, have a look at the [Node Configuration Methods](/guides/nwaku/config-methods) and [Node Configuration Examples](/guides/nwaku/configure-nwaku) guides.
65-
:::
66-
67-
## Bootstrap the node
40+
# Configure your node
41+
cp .env.example .env
42+
# Edit .env with your settings
6843

69-
To join the Waku Network, nodes must [bootstrap](/learn/glossary#bootstrapping) for an entry point before discovering more peers. Nwaku provides multiple [peer discovery](/learn/concepts/peer-discovery) mechanisms:
70-
71-
| | Description | Documentation |
72-
| ------------- | ---------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ |
73-
| Static Peers | Configure the bootstrap nodes that `nwaku` should establish connections upon startup | [Configure Static Peers](/guides/nwaku/configure-discovery#configure-static-peers) |
74-
| DNS Discovery | Enable `nwaku` to bootstrap nodes using the [DNS Discovery](/learn/concepts/dns-discovery) mechanism | [Configure DNS Discovery](/guides/nwaku/configure-discovery#configure-dns-discovery) |
75-
| Discv5 | Enable `nwaku` to discover peers using the [Discv5](/learn/concepts/discv5) mechanism | [Configure Discv5](/guides/nwaku/configure-discovery#configure-discv5) |
76-
| Peer Exchange | Enable [Peer Exchange](/learn/concepts/peer-exchange) protocol for light nodes to request peers from your `nwaku` node | [Configure Peer Exchange](/guides/nwaku/configure-discovery#configure-peer-exchange) |
77-
78-
:::tip
79-
We suggest [configuring WebSocket transport](/guides/nwaku/configure-nwaku#configure-websocket-transport) for your node to enable support and serving of browser peers using [@waku/sdk](/guides/js-waku/).
80-
:::
81-
82-
## Interact with the node
83-
84-
You can interact with a running `nwaku` node through the [REST API](https://waku-org.github.io/waku-rest-api/), such as querying the node information using the [Get node info](https://waku-org.github.io/waku-rest-api/#get-/debug/v1/info) endpoint:
85-
86-
```mdx-code-block
87-
import Tabs from '@theme/Tabs';
88-
import TabItem from '@theme/TabItem';
89-
```
90-
91-
<Tabs>
92-
<TabItem value="request" label="Request">
93-
94-
```shell
95-
curl --location 'http://127.0.0.1:8645/debug/v1/info' \
96-
--header 'Accept: application/json'
97-
```
98-
99-
</TabItem>
100-
<TabItem value="response" label="Response">
101-
102-
```json
103-
{
104-
"listenAddresses": [
105-
"/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmUbPquFQqje3jiqoB5YoiUbBya59NB4qqEzeiTNGHeA6w"
106-
],
107-
"enrUri": "enr:-Iu4QCQZXZDb_JsYmLoYor0F5E_95HbIywgO_wgx2rIdDbmCJZkTzmlCr0wmMzV47lgik_tVwww5mIng90Ris83TisMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQPszztG-Ev52ZB7tk0jF8s6Md4KvyY_rhzNZokaaB_ABIN0Y3CC6mCFd2FrdTIB"
108-
}
44+
# Start your node
45+
docker-compose up -d
10946
```
11047

111-
</TabItem>
112-
</Tabs>
48+
For detailed setup instructions, see [Run Nwaku with Docker Compose](/run-node/run-docker-compose).
11349

114-
:::info
115-
The `listenAddresses` field stores the node's listening addresses, while the `enrUri` field stores the discoverable `ENR` URI for peer discovery.
116-
:::
50+
## Alternative Installation Methods
11751

118-
## Check the node health status
52+
While Docker Compose is recommended, you can also:
11953

120-
You can check the health status of the node by calling the [Get node health status](https://waku-org.github.io/waku-rest-api/#get-/health) endpoint of the [REST API](https://waku-org.github.io/waku-rest-api/):
54+
- **[Run in Docker Container](/run-node/run-docker)** - For custom Docker deployments
55+
- **[Build from Source](/run-node/build-source)** - Compile the latest nwaku code
56+
- **[Download Binary](https://github.com/waku-org/nwaku/tags)** - Use precompiled releases
12157

122-
<Tabs>
123-
<TabItem value="request" label="Request">
58+
## Node Configuration
12459

125-
```shell
126-
curl --location 'http://127.0.0.1:8645/health' \
127-
--header 'Accept: text/plain'
128-
```
60+
Once your node is running, you can:
12961

130-
</TabItem>
131-
<TabItem value="response" label="Response">
62+
- **[Configure Discovery](/run-node/configure-discovery)** - Set up peer discovery mechanisms
63+
- **[Configure Your Node](/run-node/configure-nwaku)** - Customize protocols and settings
64+
- **[Find Node Addresses](/run-node/find-node-address)** - Locate your node's network addresses
13265

133-
```txt
134-
Node is healthy
135-
```
66+
## Monitoring and Maintenance
13667

137-
</TabItem>
138-
</Tabs>
68+
- Access the Grafana dashboard at `http://localhost:3000` (if using Docker Compose)
69+
- Use the [REST API](https://waku-org.github.io/waku-rest-api/) to interact with your node
70+
- Check node health at `http://localhost:8645/health`
13971

14072
:::tip
141-
If you encounter issues running your node or require assistance with anything, please visit the [#node-help channel](https://discord.com/channels/1110799176264056863/1216748184592711691) on our Discord.
73+
Download the [Waku Node Operator Cheatsheet](/Waku-NodeOperator.pdf) for quick reference on operating your node.
14274
:::
14375

144-
:::tip Congratulations!
145-
You have successfully started, configured, and connected a `nwaku` node to the Waku Network. Have a look at the [Node Configuration Examples](/guides/nwaku/configure-nwaku) guide to learn how to configure `nwaku` for different use cases.
146-
:::
76+
## Get Help
77+
78+
If you encounter issues or need assistance:
79+
80+
- Visit the #help-desk channel on [Discord](https://discord.waku.org/)
81+
- Check the [FAQ](/run-node/faq) for common questions
82+
- Review the [upgrade instructions](/run-node/upgrade-instructions) when updating your node

docs/run-node/run-docker-compose.md

Lines changed: 2 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,7 @@ Check out the [Waku Node Operator Cheatsheet](/Waku-NodeOperator.pdf) to learn h
2424

2525
- [Git](https://git-scm.com/) or [GitHub Desktop](https://desktop.github.com/)
2626
- [Docker](https://docs.docker.com/engine/install/) and [Docker Compose](https://docs.docker.com/compose/install/)
27-
- [Ethereum Sepolia HTTPS Endpoint](https://github.com/waku-org/nwaku/blob/master/docs/tutorial/pre-requisites-of-running-on-chain-spam-protected-chat2.md#3-access-a-node-on-the-sepolia-testnet-using-infura)
28-
- [Wallet with Sepolia Ethereum](https://github.com/waku-org/nwaku/blob/master/docs/tutorial/pre-requisites-of-running-on-chain-spam-protected-chat2.md#2-obtain-sepolia-eth-from-faucet) (~0.6 Sepolia ETH)
29-
- A password to protect your RLN membership
27+
- **Linea Sepolia RPC endpoint**: You can get a free endpoint from [Infura](https://www.infura.io/) or any other Linea Sepolia RPC provider.
3028

3129
:::info
3230
We recommend running a `nwaku` node with at least 2GB of RAM, especially if `WSS` is enabled. If running just a `Relay` node, 0.5GB of RAM is sufficient.
@@ -52,20 +50,6 @@ ${EDITOR} .env
5250
Ensure that you do **NOT** include any secrets in the `.env.example` file, as it could accidentally be shared in your Git repository.
5351
:::
5452

55-
## Register for RLN membership
56-
57-
The RLN membership is your access key to The Waku Network. Its registration is done on-chain, allowing your `nwaku` node to send messages decentralised and privately, respecting some rate limits. Other peers won't relay messages that exceed the rate limit.
58-
59-
This command registers your membership and saves it in the `keystore/keystore.json` file. You should have Docker running at this step:
60-
61-
```shell
62-
./register_rln.sh
63-
```
64-
65-
:::tip
66-
If you only want to relay traffic without sending messages to the network, you don't need to register for RLN membership.
67-
:::
68-
6953
## Run the node
7054

7155
Launch all the processes: `nwaku` node, database for storing messages, and Grafana for metrics with the following command. Your RLN membership is loaded into `nwaku` under the hood:
@@ -102,17 +86,6 @@ curl --location 'http://127.0.0.1:8645/debug/v1/version'
10286
curl --location 'http://127.0.0.1:8645/debug/v1/info'
10387
```
10488

105-
Send a message to a `contentTopic`, which all subscribers will receive. Please note that the `payload` is encoded in `base64`.
106-
107-
```shell
108-
curl --location 'http://127.0.0.1:8645/relay/v1/auto/messages' \
109-
--header 'Content-Type: application/json' \
110-
--data '{
111-
"payload": "'$(echo -n "Hello Waku Network - from Anonymous User" | base64)'",
112-
"contentTopic": "/my-app/2/chatroom-1/proto"
113-
}'
114-
```
115-
11689
Retrieve messages sent to a `contentTopic`. Please note that this query can be made to any `Store` node within the network:
11790

11891
```shell
@@ -121,7 +94,7 @@ curl --location 'http://127.0.0.1:8645/store/v1/messages?contentTopics=%2Fmy-app
12194
```
12295

12396
:::tip
124-
If you encounter issues running your node or require assistance with anything, please visit the [#node-help channel](https://discord.com/channels/1110799176264056863/1216748184592711691) on our Discord.
97+
If you encounter issues running your node or require assistance with anything, please visit the - Visit the #help-desk channel on [Discord](https://discord.waku.org/).
12598
:::
12699

127100
:::tip Congratulations!

docs/run-node/run-docker.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ We recommend using explicit port mappings (`-p`) when exposing ports accessible
7474
:::
7575

7676
:::tip
77-
If you encounter issues running your node or require assistance with anything, please visit the [#node-help channel](https://discord.com/channels/1110799176264056863/1216748184592711691) on our Discord.
77+
If you encounter issues running your node or require assistance with anything, please visit the - Visit the #help-desk channel on [Discord](https://discord.waku.org/).
7878
:::
7979

8080
:::tip Congratulations!

0 commit comments

Comments
 (0)