Subscription page only
Running the script
Section titled “Running the script”Run this command on your server:
bash <(curl -Ls https://raw.githubusercontent.com/eGamesAPI/remnawave-reverse-proxy/refs/heads/main/install_remnawave.sh)Installing only the subscription page
Section titled “Installing only the subscription page”Use this option when the panel already lives on another server and you want the subscription page on its own server, for example so user traffic does not pass through the panel server.
What the installer does
Section titled “What the installer does”- Checks the server before starting: the subscription page is not installed yet, port 443 is free.
- Asks for three things: the subscription domain (validated together with its DNS record), the already installed panel’s domain and the panel’s API token.
- Finds out how the panel is protected: cookie, TinyAuth login page or the Caddy portal, and asks for the matching key: the cookie, a login and password, or an API key.
- Issues a certificate for the subscription domain (DNS API, ACME or your own) and sets up renewal.
- Writes the services into
/opt/subscription: the subscription page container and the web server in front of it; files are created root-only. - Starts and verifies: requests
https://domainup to 5 times with a 15-second pause until the page answers. - Shows the final screen: the page address, a reminder to set
SUB_PUBLIC_DOMAINin the panel and a warning about the cookie match.
Step-by-step installation
Section titled “Step-by-step installation”-
Select
Install Remnawave ComponentsREMNAWAVE 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):
-
Then select
Install only the subscription pageInstall 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):
-
Select the web server
Select web server: 1.Nginx 2.Caddy 0.Exit Select action (0-2):
-
Answer the installer’s questions: the subscription domain, the panel domain and the panel’s API token
Enter subscription domain (e.g. sub.example.com): sub.example.com Enter panel domain (e.g. panel.example.com): panel.example.com Enter the panel API token (created in the panel: Settings -> API tokens):
-
Select how the panel is protected and enter that method’s key:
Cookie protection (default): the script asks for the panel cookie, the sameNAME=VALUEpair as in the login link.Login page (TinyAuth): asks for the login page’s username and password.Caddy with MFA (caddy-with-auth): asks for the API key from the panel’s login page.
Panel protection method: 1.Cookie protection (default) 2.Login page (TinyAuth) 3.Caddy with MFA (caddy-with-auth) Select action (1-3):
Enter the panel cookie (format NAME=VALUE, e.g. zIdejKtN=MWbLrRzx — the same pair as in the panel login link auth/login?NAME=VALUE): -
Select the certificate generation method for the subscription domain:
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):
-
If you chose Let’s Encrypt, enter the email for certificate notifications, or just press Enter to skip
Enter your Let's Encrypt email (or press Enter to skip): -
From here the script works on its own: it writes the services into
/opt/subscription, starts the containers and checks that the page answersInstalling the subscription page Starting the subscription page Please wait... Checking subscription page availability: sub.example.com... Attempt 1 of 5 [ ✓ ] The subscription page is up!
-
When the installation finishes, the script prints the page address and two reminders
================================================= Subscription page installed successfully! ================================================= The subscription page is available at: https://sub.example.com ------------------------------------------------- Do not forget to configure the panel: set SUB_PUBLIC_DOMAIN=<subscription page domain> in /opt/remnawave/.env on the panel server and restart the panel container (cd /opt/remnawave && docker compose up -d remnawave). The cookie must match the panel's current cookie: if the panel is reinstalled, update EGAMES_COOKIE in /opt/subscription/docker-compose.yml and restart the subscription page container (cd /opt/subscription && docker compose up -d remnawave-subscription-page). ------------------------------------------------- To relaunch the manager, use the following command: remnawave_reverse =================================================
Updating the script
Section titled “Updating the script”Make sure the script is up to date before you do anything else with it.
-
Open the script menu with the
remnawave_reversecommand (or the short aliasrr) and select item12,Check for updates script. When an update is already found, the item lights up red and readsUpdate script: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):
-
What changed in each version is on the releases page:
