Skip to content

Panel and Node

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)

While you answer the questions, the script does all the work itself:

  1. Checks the server before starting: port 443 is free, neither the panel nor the node is running, so the install never lands on top of a live setup.
  2. Asks for three domains: the panel, the subscription page and the camouflage site (selfsteal). Each domain is validated, its DNS record is checked, and all three must be different.
  3. Generates every secret itself: the superadmin login and password, the name=value pair for the secret login link, a separate metrics login and password, and APP_SECRET. Nothing to invent or remember: everything is shown at the end.
  4. Deploys the services into /opt/remnawave: the PostgreSQL database, the Valkey cache, the RemnaWave panel, a reverse proxy behind a Unix socket, the subscription page and the remnanode node. The node’s Xray owns port 443 and hands web traffic to the proxy over the socket, with no extra TCP hops.
  5. Issues Let’s Encrypt certificates for all domains at once, using the method you pick (DNS API, ACME HTTP-01 or your own), and sets up renewal.
  6. Installs the camouflage site: a random template of an ordinary website on the selfsteal domain, so the node does not stand out from regular traffic.
  7. Configures the panel through its API: registers the superadmin, creates the StealConfig profile, the node and the host, binds them to the default squad and issues a token for the subscription page.
  8. Restarts the stack cleanly (down + up): if something did not come up, the error cannot hide behind the green “installation complete” banner.
  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 Install panel and node on one server

    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. Select the web server for the panel. Both options are fully supported:

    • Nginx: the classic scheme used in all previous versions.
    • Caddy: automatic HTTPS certificates out of the box.
    root@server: ~
    Select web server:
    
    1.Nginx
    2.Caddy
    
    0.Exit
    
    Select action (0-2):
  4. Answer the installer’s questions: enter the panel, subscription and selfsteal domains one by one, each is checked separately

    root@server: ~
    Enter panel domain (e.g. panel.example.com): panel.example.com
    Enter subscription domain (e.g. sub.example.com): sub.example.com
    Enter selfsteal domain for node (e.g. node.example.com):
  5. Select the panel protection method:

    1. Cookie protection (default): the panel is hidden behind a secret link, as in previous versions.
    2. Login page (TinyAuth): an extra login page in front of the panel. The script deploys TinyAuth and creates the user itself.
    root@server: ~
    Panel protection method:
    
    1.Cookie protection (default)
    2.Login page (TinyAuth)
    
    Select action (1-2):
  6. Select the certificate generation method for all domains at once:

    • DNS API (Cloudflare, Gcore, Bunny.net): a wildcard certificate, DNS records are created automatically via an API key.
    • ACME HTTP-01: no API key, one domain per certificate.
    • Your own certificate: upload your own fullchain.pem and privkey.pem.
    root@server: ~
    Select certificate generation method for all domains:
    
    1.Cloudflare DNS API
        Wildcard, DNS records are created automatically via an API key
    2.Gcore DNS API
        Wildcard, DNS records are created automatically via an API key
    3.Bunny.net DNS API
        Wildcard, DNS records are created automatically via an API key
    
    4.ACME HTTP-01
        No API key, one domain per certificate
    
    5.Install your own certificate
        Upload your own fullchain.pem and privkey.pem
    
    0.Exit
    
    Select action (0-5):
  7. If you chose Let’s Encrypt, enter the email for certificate notifications, or just press Enter to skip

    root@server: ~
    Enter your Let's Encrypt email (or press Enter to skip):
  8. From here the script works on its own and marks each stage: it writes the services into /opt/remnawave, generates certificates, installs the camouflage site, configures the panel through the API and restarts everything cleanly

    root@server: ~
    Installing panel and node
    
    [ * ] Checking containers availability...
    Generating certificates for panel.example.com
    [ * ] Stopping panel and node
    [ * ] Starting panel and node
  9. When the installation finishes, the script prints all login data

    root@server: ~
    =================================================
                   INSTALLATION COMPLETE!
    =================================================
    Panel URL:
    https://panel.example.com/auth/login?zIdejKtN=MWbLrRzx
    -------------------------------------------------
    To log into the panel, use the following data:
    Username: admin
    Password: k7XmQ2vLpR9t
    -------------------------------------------------
    To relaunch the manager, use the following command:
    remnawave_reverse
    =================================================
    
    Installing random template for camouflage site
    Selected template: corporate-business
    Template copied to /var/www/html

    On the final screen:

    • the panel login URL with the secret parameter, like https://panel.example.com/auth/login?NAME=VALUE (or the login portal address if TinyAuth / MFA was selected);
    • the superadmin username and password;
    • the command to reopen the menu, remnawave_reverse;
    • which random camouflage template was picked and where it was copied.

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: