docs.waku.org/assets/js/9d686a53.ebc0f2b7.js
2025-10-03 05:55:52 +00:00

1 line
8.4 KiB
JavaScript

"use strict";(self.webpackChunkwaku_guide=self.webpackChunkwaku_guide||[]).push([[2689],{26434:(e,n,o)=>{o.r(n),o.d(n,{assets:()=>a,contentTitle:()=>d,default:()=>u,frontMatter:()=>t,metadata:()=>r,toc:()=>l});const r=JSON.parse('{"id":"run-node/index","title":"Run a Waku Node","description":"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 they want to support based on their needs, motivations, and available resources.","source":"@site/docs/run-node/index.md","sourceDirName":"run-node","slug":"/run-node/","permalink":"/run-node/","draft":false,"unlisted":false,"editUrl":"https://github.com/waku-org/docs.waku.org/tree/develop/docs/run-node/index.md","tags":[],"version":"current","lastUpdatedAt":null,"frontMatter":{"title":"Run a Waku Node","hide_table_of_contents":true,"displayed_sidebar":"runNode"},"sidebar":"runNode","next":{"title":"Run Nwaku with Docker Compose","permalink":"/run-node/run-docker-compose"}}');var i=o(74848),s=o(28453);const t={title:"Run a Waku Node",hide_table_of_contents:!0,displayed_sidebar:"runNode"},d=void 0,a={},l=[{value:"Video Tutorial",id:"video-tutorial",level:2},{value:"Quick Start with Docker Compose (Recommended)",id:"quick-start-with-docker-compose-recommended",level:2},{value:"Prerequisites",id:"prerequisites",level:3},{value:"Get Started",id:"get-started",level:3},{value:"Alternative Installation Methods",id:"alternative-installation-methods",level:2},{value:"Node Configuration",id:"node-configuration",level:2},{value:"Monitoring and Maintenance",id:"monitoring-and-maintenance",level:2},{value:"Get Help",id:"get-help",level:2}];function c(e){const n={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,s.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["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 ",(0,i.jsx)(n.a,{href:"/learn/concepts/protocols",children:"protocols"})," they want to support based on their needs, motivations, and available resources."]}),"\n",(0,i.jsx)(n.h2,{id:"video-tutorial",children:"Video Tutorial"}),"\n",(0,i.jsx)("div",{class:"video-container",children:(0,i.jsx)("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:!0})}),"\n",(0,i.jsx)(n.h2,{id:"quick-start-with-docker-compose-recommended",children:"Quick Start with Docker Compose (Recommended)"}),"\n",(0,i.jsxs)(n.p,{children:["The easiest way to run a Waku node is using ",(0,i.jsx)(n.a,{href:"/run-node/run-docker-compose",children:"Docker Compose"}),". This setup automatically configures:"]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["A ",(0,i.jsx)(n.code,{children:"nwaku"})," node with ",(0,i.jsx)(n.a,{href:"/learn/concepts/protocols#relay",children:"Relay"}),", ",(0,i.jsx)(n.a,{href:"/learn/concepts/protocols#store",children:"Store"}),", and ",(0,i.jsx)(n.a,{href:"/learn/concepts/protocols#rln-relay",children:"RLN"})," protocols"]}),"\n",(0,i.jsx)(n.li,{children:"A simple web interface to send and receive messages"}),"\n",(0,i.jsx)(n.li,{children:"Grafana dashboard for monitoring your node"}),"\n"]}),"\n",(0,i.jsx)(n.h3,{id:"prerequisites",children:"Prerequisites"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsx)(n.li,{children:(0,i.jsx)(n.strong,{children:"Git"})}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.a,{href:"https://docs.docker.com/engine/install/",children:"Docker"})," and ",(0,i.jsx)(n.a,{href:"https://docs.docker.com/compose/install/",children:"Docker Compose"})]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:"Linea Sepolia RPC endpoint"}),": You can get a free endpoint from ",(0,i.jsx)(n.a,{href:"https://www.infura.io/",children:"Infura"})," or any other Linea Sepolia RPC provider."]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{title:"System Requirements",type:"info",children:(0,i.jsx)(n.p,{children:"We recommend at least 2GB of RAM, especially if WSS is enabled. For a Relay-only node, 0.5GB of RAM is sufficient."})}),"\n",(0,i.jsx)(n.h3,{id:"get-started",children:"Get Started"}),"\n",(0,i.jsx)(n.pre,{children:(0,i.jsx)(n.code,{className:"language-shell",children:"# Clone the repository\ngit clone https://github.com/waku-org/nwaku-compose\ncd nwaku-compose\n\n# Configure your node\ncp .env.example .env\n# Edit .env with your settings\n\n# Start your node\ndocker-compose up -d\n"})}),"\n",(0,i.jsxs)(n.p,{children:["For detailed setup instructions, see ",(0,i.jsx)(n.a,{href:"/run-node/run-docker-compose",children:"Run Nwaku with Docker Compose"}),"."]}),"\n",(0,i.jsx)(n.h2,{id:"alternative-installation-methods",children:"Alternative Installation Methods"}),"\n",(0,i.jsx)(n.p,{children:"While Docker Compose is recommended, you can also:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/run-node/run-docker",children:"Run in Docker Container"})})," - For custom Docker deployments"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/run-node/build-source",children:"Build from Source"})})," - Compile the latest nwaku code"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"https://github.com/waku-org/nwaku/tags",children:"Download Binary"})})," - Use precompiled releases"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"node-configuration",children:"Node Configuration"}),"\n",(0,i.jsx)(n.p,{children:"Once your node is running, you can:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/run-node/configure-discovery",children:"Configure Discovery"})})," - Set up peer discovery mechanisms"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/run-node/configure-nwaku",children:"Configure Your Node"})})," - Customize protocols and settings"]}),"\n",(0,i.jsxs)(n.li,{children:[(0,i.jsx)(n.strong,{children:(0,i.jsx)(n.a,{href:"/run-node/find-node-address",children:"Find Node Addresses"})})," - Locate your node's network addresses"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"monitoring-and-maintenance",children:"Monitoring and Maintenance"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Access the Grafana dashboard at ",(0,i.jsx)(n.code,{children:"http://localhost:3000"})," (if using Docker Compose)"]}),"\n",(0,i.jsxs)(n.li,{children:["Use the ",(0,i.jsx)(n.a,{href:"https://waku-org.github.io/waku-rest-api/",children:"REST API"})," to interact with your node"]}),"\n",(0,i.jsxs)(n.li,{children:["Check node health at ",(0,i.jsx)(n.code,{children:"http://localhost:8645/health"})]}),"\n"]}),"\n",(0,i.jsx)(n.admonition,{type:"tip",children:(0,i.jsxs)(n.p,{children:["Download the ",(0,i.jsx)(n.a,{target:"_blank","data-noBrokenLinkCheck":!0,href:o(96343).A+"",children:"Waku Node Operator Cheatsheet"})," for quick reference on operating your node."]})}),"\n",(0,i.jsx)(n.h2,{id:"get-help",children:"Get Help"}),"\n",(0,i.jsx)(n.p,{children:"If you encounter issues or need assistance:"}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Visit the #help-desk channel on ",(0,i.jsx)(n.a,{href:"https://discord.waku.org/",children:"Discord"})]}),"\n",(0,i.jsxs)(n.li,{children:["Check the ",(0,i.jsx)(n.a,{href:"/run-node/faq",children:"FAQ"})," for common questions"]}),"\n",(0,i.jsxs)(n.li,{children:["Review the ",(0,i.jsx)(n.a,{href:"/run-node/upgrade-instructions",children:"upgrade instructions"})," when updating your node"]}),"\n"]})]})}function u(e={}){const{wrapper:n}={...(0,s.R)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},28453:(e,n,o)=>{o.d(n,{R:()=>t,x:()=>d});var r=o(96540);const i={},s=r.createContext(i);function t(e){const n=r.useContext(s);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:t(e.components),r.createElement(s.Provider,{value:n},e.children)}},96343:(e,n,o)=>{o.d(n,{A:()=>r});const r=o.p+"assets/files/Waku-NodeOperator-7fabb782473f2619b0b05dc209f12f53.pdf"}}]);