Skip to content

Add node to panel

Run this command on your server:

root@server: ~
bash <(curl -Ls https://raw.githubusercontent.com/eGamesAPI/remnawave-reverse-proxy/refs/heads/main/install_remnawave.sh)

Select Install Remnawave Components, then Add node to panel.

  1. Select Install Remnawave Components

    root@server: ~
    REMNAWAVE REVERSE-PROXY by eGames
    Version: 3.8.4
    Wiki: https://wiki.egam.es/
    
    1.Install Remnawave Components
    2.Reinstall Panel and Components
    3.Manage Panel and Components
    
    4.Node extensions (templates, plugins, core)
    5.Subscriptions: rules and page
    
    6.WARP Native
    7.Backup and restore
    
    8.Xray Checker — subscription monitoring
    9.NetBird: overlay network for nodes and panel
    
    10.Manage IPv6
    11.Manage certificates domain
    
    12.Check for updates script
    13.Remove script
    0.Exit
    - Quick start: remnawave_reverse (or rr)
    
    Select action (0-13):
  2. Then select Add node to panel

    root@server: ~
    Install Remnawave Components
    
    1.Install panel and node on one server
    2.Install panel and subscription page
    3.Add node to panel
    4.Install only the node
    5.Install only the panel
    6.Install only the subscription page
    
    0.Exit
    
    Select action (0-6):
  3. Confirm that you are on the panel server

    root@server: ~
    WARNING:
    Adding a node should only be done on the server where the panel is installed, not on the node server.
    
    Are you sure you are on the server with the installed panel?
    Enter 'y' to continue or 'n' to exit (y/n): y
  4. Choose how to set up the node server

    root@server: ~
    How should the node server be set up?
    
    1.Automatically over SSH
       the panel installs the node on its server itself: packages, Docker, certificate.
       The domain must point at that server and root SSH access is required
    2.Manually
       I will create the node in the panel, you install it on the server yourself
    
    Select action (1-2):

    In automatic mode a web server is selected afterwards, nginx or Caddy. Then you enter the node’s domain and its name; the only difference is who installs the node on the server.

The panel sets the node up on its server itself: it connects over SSH, prepares the server and brings the containers up. You never have to log into the node server.

What you need:

  • a separate server with Debian or Ubuntu and root SSH access. A password is enough: the script installs its own key, never stores the password and never asks again.
  • the node’s domain, for example node.example.com.
  • port 443 free on the node server. For Caddy port 80 must be free too; the script adds the firewall rule itself.

How the installation goes:

  1. SSH connection. If access to this server is already configured in the SSH access section, it is used silently. For a domain without an A record the script asks for the server IP, and that is the only extra question.

  2. DNS record. If the record does not exist, the script creates it. A zone whose certificate already lives on the panel is recognized automatically. For a new zone the script asks which DNS provider to use.

  3. Server preparation. The script installs packages and Docker with mirrors for when downloads are blocked, brings up ufw with port 443 open and SSH preserved.

  4. Link key and certificate. First the script issues the node’s link key. Then the certificate: if the panel’s wildcard already covers the node domain (*.example.com covers node.example.com), the files are copied to the node and the panel carries renewals over itself. If not, the certificate is issued right on the node server via a DNS check and renewed there, without the panel. With Caddy it is simpler still: Caddy issues and renews the certificate itself, the panel is not involved.

  5. Launch. The script generates the camouflage site, writes the configuration and brings up the node and web server containers.

  6. Connectivity check. The script waits for the node to report to the panel. If the DNS record is very fresh and the panel’s resolvers do not see it yet, the script hands the address to the panel directly and the connection goes through.

root@server: ~
Preparing the node server: packages, Docker, ufw (may take a couple of minutes)...
[ * ] NetBird on the node

The node server is set up, the node is running

When you see The node server is set up, the node is running, the installation is finished. Check that the node glows green in the panel’s Nodes section and that its domain opens the camouflage site in a browser.

The script creates the node, profile and host in the panel; you install the server yourself.

  1. Enter your new domain for selfsteal, which the node will use to connect to the panel, and a name for the node itself.

    root@server: ~
    Enter the node's selfsteal domain (the address from its card in the panel): node.example.com
    Enter a name for your node (e.g. Germany): Germany
  2. Once the node is added to the panel, run the script on the new server that will host the RemnaWave node, select Install Remnawave Components, then Install only the node.

Make sure the script is up to date before you do anything else with it.

  1. Open the script menu with the remnawave_reverse command (or the short alias rr) and select item 12, Check for updates script. When an update is already found, the item lights up red and reads Update script:

    root@server: ~
    REMNAWAVE REVERSE-PROXY by eGames
    Version: 3.8.4 script update available
    …
    9.NetBird: overlay network for nodes and panel
    13.Update script
    13.Remove script
    
    0.Exit
    
    Select action (0-13):
  2. What changed in each version is on the releases page: