Quick start
Installation
Remnanode consists of one part:
- Node (with XRay Core inside)
Minimum requirements for Node:
- 1GB of RAM
- 1 CPU core
- Docker Engine
Configuration
First of all, you need to configure the environment variables.
You can find the list of all environment variables in the Environment Variables page.
Installation
This guide is written for Debian 12, instructions may vary for other distributions.
- First of all, you need to install docker.
sudo curl -fsSL https://get.docker.com | sh
- Create separate directory for the project.
mkdir -p /opt/remnanode && cd /opt/remnanode
- Create and configure the environment variables.
nano .env
- Add the following content to the .env file:
SSL_CERT can be found in the main panel under the Nodes tab, after clicking the Create node button. APP_PORT can be customized, make sure it's not used by other services.
APP_PORT=2222
SSL_CERT=CERT_FROM_MAIN_PANEL
Do not use port 61001 as APP_PORT - it is a service port! Ensure that APP_PORT is only accessible from your panel IP!
- Create
docker-compose.yml
file, example below.
services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
env_file:
- .env
- Run containers.
docker compose up -d
- Check the logs.
docker compose logs -f
- Remnanode is now running.
Now we are ready to create a Node in the main panel.
Advanced usage
GeoSite files
You can mount additional geosite files into the /usr/local/share/xray/
directory in the container.
Do not mount the entire folder. Otherwise, you will overwrite the xray geosite files. Mount files individually.
Add the following to the docker-compose.yml
file:
services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
env_file:
- .env
volumes:
- './zapret.dat:/usr/local/share/xray/zapret.dat'
Usage in xray config:
"routing": {
"rules": [
// Other rules
{
"type": "field",
"domain": [
"ext:zapret.dat:zapret"
],
"inboundTag": [ // Optional
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
}
// Other rules
]
}