Skip to content

About

Automated script to set up Remnawave Panel and its nodes on Linux.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

60 Commits

Folders and files

Repository files navigation

Remnawave Auto-Installer

Professional script for automatic installation of Remnawave panel and node connection on Linux

Remnawave Screenshot
Linux Version MIT License



Note: This project is only for personal learning and communication, please do not use it for illegal purposes, please do not use it in a production environment

Requirements

  • Ubuntu 20.04 or higher
  • Minimum 1GB RAM
  • 10GB Free Disk Space
  • Root access to server
  • Valid domain name (for SSL)
  • Domain pointed to your server's IP

Features

  • Security

    • Advanced Encryption: State-of-the-art encryption protocols for maximum security
    • Anti-Attack System: Built-in protection against DDoS and other cyber attacks
    • IP Hiding: Advanced IP masking and protection features
    • Multi-Layer Security: Multiple security layers to protect your data
  • Performance

    • High Speed Performance: Optimized for maximum speed and minimal latency
    • Load Balancing: Smart traffic distribution across multiple nodes
    • Unlimited Bandwidth: No restrictions on data transfer
    • Global Network: Access to servers worldwide
  • Management

    • Easy Panel Management: User-friendly interface for easy administration
    • Real-time Monitoring: Live monitoring of all connections and traffic
    • Auto Configuration: Automatic setup and configuration
    • Multi-User System: Support for multiple user accounts and permissions
  • Technical Features

    • Docker Integration: Full containerization support with Docker
    • Nginx Integration: Advanced web server configuration with Nginx
    • SSL Certificate: Automatic SSL certificate setup and renewal
    • Node Management: Easy addition and configuration of new nodes
    • Telegram Integration: Built-in Telegram bot for notifications and control
  • Analytics & Reporting

    • Traffic Analytics: Detailed traffic monitoring and analysis
    • Usage Statistics: Comprehensive usage statistics and reports
    • User Tracking: Monitor user activities and connections
    • System Logs: Detailed system logs for troubleshooting
  • Additional Features

    • Multi-Language Support: Interface available in multiple languages
    • Regular Updates: Continuous system updates and improvements
    • 24/7 Uptime: Designed for continuous operation
    • Backup System: Automated backup and restore functionality

Note: Requires Ubuntu 20.04 or higher.


Automatic Installation

Run the following command in your terminal to install Remnawave automatically:

wget -O start.sh https://raw.githubusercontent.com/AsanFillter/Remnawave-AutoSetup/main/start.sh && chmod +x start.sh && ./start.sh
Manual Installation

Panel Installation Steps

  1. Install prerequisites:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
sudo apt install -y docker-ce
docker --version
  1. Create a new file named jwtgen.py:
nano jwtgen.py
  1. Add the following content to jwtgen.py:
import secrets

# Generate JWT_AUTH_SECRET
jwt_auth_secret = secrets.token_hex(32)
print("JWT_AUTH_SECRET:", jwt_auth_secret)

# Generate JWT_API_TOKENS_SECRET
jwt_api_tokens_secret = secrets.token_hex(32)
print("JWT_API_TOKENS_SECRET:", jwt_api_tokens_secret)
  1. Run the script to generate JWT secrets:
python3 jwtgen.py
  1. Save the generated HEX codes for later use.

  2. Create a directory for Remnawave and navigate into it:

mkdir remnawave && cd remnawave
  1. Download the project configuration file:
curl -o .env https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/.env.sample
  1. Edit the configuration file:
nano .env
  1. Replace the placeholders with the correct values:
### APP ###
APP_PORT=3000

DATABASE_URL="postgresql://postgres:postgres@remnawave-db:5432/postgres"

### JWT ###
### CHANGE DEFAULT VALUES ###
JWT_AUTH_SECRET=YourFirstHexCode
JWT_API_TOKENS_SECRET=YourSecondHexCode

### TELEGRAM ###
TELEGRAM_BOT_TOKEN=YourTelegramBotToken
TELEGRAM_ADMIN_ID=YourTelegramAdminID
NODES_NOTIFY_CHAT_ID=YourTelegramChatID

### FRONT_END ###
FRONT_END_DOMAIN=*

### SUBSCRIPTION ###
SUB_SUPPORT_URL=https://YourSubdomain
SUB_PROFILE_TITLE=Subscription Profile
SUB_UPDATE_INTERVAL=12
SUB_WEBPAGE_URL=https://YourSubdomain

### SUBSCRIPTION PUBLIC DOMAIN ###
### RAW DOMAIN, WITHOUT HTTP/HTTPS, DO NOT PLACE / to end of domain ###
SUB_PUBLIC_DOMAIN=rw.guilanit.com

EXPIRED_USER_REMARKS=["Subscription expired","Contact support"]
DISABLED_USER_REMARKS=["Subscription disabled","Contact support"]
LIMITED_USER_REMARKS=["Subscription limited","Contact support"]

### SUPERADMIN ###
### CHANGE DEFAULT VALUES ###
SUPERADMIN_USERNAME=YourAdminUsername
SUPERADMIN_PASSWORD=YourAdminPassword

### SWAGGER ###
SWAGGER_PATH=/docs
SCALAR_PATH=/scalar
IS_DOCS_ENABLED=true

### PROMETHEUS ###
METRICS_USER=admin
METRICS_PASS=admin

### WEBHOOK ###
WEBHOOK_ENABLED=true
### Only https:// is allowed
WEBHOOK_URL=https://webhook.site/1234567890
### This secret is used to sign the webhook payload, must be exact 64 characters. Only a-z, 0-9, A-Z are allowed.
WEBHOOK_SECRET_HEADER=vsmu67Kmg6R8FjIOF1WUY8LWBHie4scdEqrfsKmyf4IAf8dY3nFS0wwYHkhh6ZvQ

### CLOUDFLARE ###
# USED ONLY FOR docker-compose-prod-with-cf.yml
# NOT USED BY THE APP ITSELF
CLOUDFLARE_TOKEN=ey...

### Database ###
### For Postgres Docker container ###
# NOT USED BY THE APP ITSELF
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
POSTGRES_DB=postgres
  1. Create the Docker Compose file:
nano docker-compose.yml
  1. Add the following content to docker-compose.yml:
services:
    remnawave-db:
        image: postgres:17
        container_name: 'remnawave-db'
        hostname: remnawave-db
        restart: always
        env_file:
            - .env
        environment:
            - POSTGRES_USER=${POSTGRES_USER}
            - POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
            - POSTGRES_DB=${POSTGRES_DB}
            - TZ=UTC
        ports:
            - '127.0.0.1:6767:5432'
        volumes:
            - remnawave-db-data:/var/lib/postgresql/data
        networks:
            - remnawave-network
        healthcheck:
            test: ['CMD-SHELL', 'pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}']
            interval: 3s
            timeout: 10s
            retries: 3

    remnawave:
        image: remnawave/backend:latest
        container_name: 'remnawave'
        hostname: remnawave
        restart: always
        ports:
            - '127.0.0.1:3000:3000'
        env_file:
            - .env
        networks:
            - remnawave-network

networks:
    remnawave-network:
        name: remnawave-network
        driver: bridge
        external: false

volumes:
    remnawave-db-data:
        driver: local
        external: false
        name: remnawave-db-data
  1. Run the following command to start the containers:
docker compose up -d
  1. Check the logs to ensure everything is running correctly:
docker compose logs -f

Node Setup Instructions

After installing the main panel, create a new virtual server with your desired location.

  1. First, install Docker on your server:
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
sudo apt update
sudo apt install -y docker-ce
docker --version
  1. Update your server:
sudo apt update && apt upgrade -y
  1. Create a directory for the Node and create a Docker file:
mkdir /remnanode && cd /remnanode && nano docker-compose.yml
  1. Add the following content to docker-compose.yml:
services:
  remnanode:
    container_name: remnanode
    hostname: remnanode
    image: remnawave/node:latest
    env_file:
      - .env
    network_mode: host
  1. Create and edit the .env file:
nano .env
  1. Go to your panel and add a Node. Click on "Important information" and copy the key. Add it to your .env file:
### APP ###
APP_PORT=2222
  1. Start the Docker container and check the logs:
docker compose up -d && docker compose logs -f

Contributions

Contributions are always welcome! Here's how you can help:

  • Report bugs or issues
  • Suggest new features
  • Improve documentation
  • Review code changes

Support

Watch the tutorial video

If you find this project useful, please consider giving it a star on GitHub!

For more information and documentation, please visit the official Remnawave site.

About

Automated script to set up Remnawave Panel and its nodes on Linux.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages