For more information about environment variables, see the Environment Variables page.
Open the .env file:
cd /opt/remnashop && nano .env
# Domain through which your bot is publicly accessible. # Used for receiving webhooks from services (e.g., Telegram, payment systems). # !!! WARNING: Specify domain WITHOUT HTTP/HTTPS and WITHOUT trailing slash. APP_DOMAIN=change_me # Encryption key for securing sensitive data (e.g., payment tokens) in the database. # !!! CRITICALLY IMPORTANT: Never share this token publicly. APP_CRYPT_KEY=change_me # SHOULD ALREADY BE SET IN STEP 3 # Telegram Bot API token. Obtain it from https://t.me/BotFather/ # !!! CRITICALLY IMPORTANT: Never share this token publicly. It grants full control over your bot. BOT_TOKEN=change_me # Secret token for webhook verification. Ensures webhook requests originate from Telegram. BOT_SECRET_TOKEN=change_me # SHOULD ALREADY BE SET IN STEP 3 # Owner Telegram user ID. Grants elevated permissions. BOT_OWNER_ID=change_me # Telegram username of the support account used for deep-linking (without @). BOT_SUPPORT_USERNAME=change_me # Controls the behavior of the "connect" button: # - empty or false -> opens the subscription page in the browser # - true -> opens the subscription page in WebApp # - URL (e.g., https://example.com/) -> opens the specified URL in WebApp BOT_MINI_APP=false # Hostname or Docker service name for connecting to the Remnawave API. REMNAWAVE_HOST=remnawave # API token for authenticating with the Remnawave service. REMNAWAVE_TOKEN=change_me # Secret token for verifying incoming webhooks from Remnawave. # In the Remnawave Panel, this corresponds to WEBHOOK_SECRET_HEADER (env). REMNAWAVE_WEBHOOK_SECRET=change_me # Password for the database. DATABASE_PASSWORD=change_me # SHOULD ALREADY BE SET IN STEP 3
REMNAWAVE_HOST=remnawave uses the container name from the Remnawave Docker network.
Set the REMNAWAVE_TOKEN variable to your panel API token. You can create a token in Remnawave Settings → API Tokens.
REMNAWAVE_WEBHOOK_SECRET must match the value of WEBHOOK_SECRET_HEADER in the panel’s .env file.
If you are using Remnawave Reverse-Proxy by eGames, add a cookie for authorization. Example: REMNAWAVE_COOKIE=rEmnaprx=aBCDefgh1. How to get the cookie: instructions.
If everything is configured correctly, the bot will send a welcome message.
WARNING!
A reverse proxy is required for Remnashop to work correctly.
Do not expose services directly to the public internet. Use only 127.0.0.1 for Remnashop services.
You can now proceed to set up the reverse proxy.
Install Reverse Proxy
Installation and configuration of the reverse proxy
Use this method if the bot will run on a different server from the Remnawave panel. The bot connects to Remnawave through an external HTTPS URL.
For more information about environment variables, see the Environment Variables page.
Open the .env file:
cd /opt/remnashop && nano .env
# Domain through which your bot is publicly accessible. # Used for receiving webhooks from services (e.g., Telegram, payment systems). # !!! WARNING: Specify domain WITHOUT HTTP/HTTPS and WITHOUT trailing slash. APP_DOMAIN=change_me # Encryption key for securing sensitive data (e.g., payment tokens) in the database. # !!! CRITICALLY IMPORTANT: Never share this token publicly. APP_CRYPT_KEY=change_me # SHOULD ALREADY BE SET IN STEP 3 # Telegram Bot API token. Obtain it from https://t.me/BotFather/ # !!! CRITICALLY IMPORTANT: Never share this token publicly. It grants full control over your bot. BOT_TOKEN=change_me # Secret token for webhook verification. Ensures webhook requests originate from Telegram. BOT_SECRET_TOKEN=change_me # SHOULD ALREADY BE SET IN STEP 3 # Owner Telegram user ID. Grants elevated permissions. BOT_OWNER_ID=change_me # Telegram username of the support account used for deep-linking (without @). BOT_SUPPORT_USERNAME=change_me # Controls the behavior of the "connect" button: # - empty or false -> opens the subscription page in the browser # - true -> opens the subscription page in WebApp # - URL (e.g., https://example.com/) -> opens the specified URL in WebApp BOT_MINI_APP=false # Hostname or domain of the Remnawave panel for connecting via external HTTPS. # !!! Specify domain WITHOUT HTTP/HTTPS and WITHOUT trailing slash. REMNAWAVE_HOST=panel.domain.com # API token for authenticating with the Remnawave service. REMNAWAVE_TOKEN=change_me # Secret token for verifying incoming webhooks from Remnawave. # In the Remnawave Panel, this corresponds to WEBHOOK_SECRET_HEADER (env). REMNAWAVE_WEBHOOK_SECRET=change_me # Password for the database. DATABASE_PASSWORD=change_me # SHOULD ALREADY BE SET IN STEP 3
Set REMNAWAVE_HOST to your Remnawave panel domain. Example: REMNAWAVE_HOST=panel.domain.com
Set the REMNAWAVE_TOKEN variable to your panel API token. You can create a token in Remnawave Settings → API Tokens.
REMNAWAVE_WEBHOOK_SECRET must match the value of WEBHOOK_SECRET_HEADER in the panel’s .env file.
If you are using Remnawave Reverse-Proxy by eGames, add a cookie for authorization. Example: REMNAWAVE_COOKIE=rEmnaprx=aBCDefgh1. How to get the cookie: instructions.
If everything is configured correctly, the bot will send a welcome message.
WARNING!
A reverse proxy is required for Remnashop to work correctly.
Do not expose services directly to the public internet. Use only 127.0.0.1 for Remnashop services.
You can now proceed to set up the reverse proxy.
Install Reverse Proxy
Installation and configuration of the reverse proxy