Run Nwaku in a Docker Container
This guide provides detailed steps to build and run a nwaku node in a Docker container. If you prefer a pre-configured setup with a monitoring dashboard, see the Run Nwaku with Docker Compose guide.
Prerequisites
Ensure Docker is installed on your system using the appropriate instructions provided in the Docker documentation.
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.
Get Docker image
The Nwaku Docker images are available on the Docker Hub public registry under the wakuorg/nwaku repository. Please visit wakuorg/nwaku/tags for images of specific releases.
Build Docker image
You can also build the Docker image locally:
# Clone the repository
git clone --recurse-submodules https://github.com/waku-org/nwaku
cd nwaku
# Build docker image
make docker-image
Run Docker container
Run nwaku in a new Docker container:
docker run [OPTIONS] [IMAGE] [ARG...]
OPTIONSare your selected Docker optionsIMAGEis the image and tag you pulled from the registry or built locallyARG...is the list of arguments for your node configuration options
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}'
For more detailed information about all possible configurations, please run
docker run -t wakuorg/nwaku:v0.32.0 --help
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
We recommend using explicit port mappings (-p) when exposing ports accessible from outside the host (listening and discovery ports, API servers).
If you encounter issues running your node or require assistance with anything, please visit the - Visit the #help-desk channel on Discord.
You have successfully built and started a nwaku node in a Docker container. Have a look at the Node Configuration Examples guide to learn how to configure nwaku for different use cases.