Remnawaveノード
RemnawaveノードはXray-coreを含む軽量コンテナです。
RemnawaveパネルにはXray-coreが含まれていないため、Remnawaveのすべての機能を使用するには別のサーバーにRemnawaveノードをインストールする必要があります。
Dockerのインストール
まだインストールされていない場合はDockerをインストールします。
sudo curl -fsSL https://get.docker.com | sh
ステップ1 — プロジェクトディレクトリの作成
mkdir /opt/remnanode && cd /opt/remnanode
ステップ2 - ノードの追加
Nodes -> Management に移動し、+ ボタンをクリックして新しいノードを追加します。
フォームに入力してください。
Node Port フィールドに注意してください。RemnawaveパネルからRemnawaveノードへの内部APIリクエストを受け付けるために使用されます。他の用途には使用されません。
Copy docker-compose.yml ボタンをクリックして設定をクリップボードにコピーします。

ステップ3 — docker-compose.ymlファイルの作成
cd /opt/remnanode && nano docker-compose.yml
クリップボードから設定を貼り付けて保存します。
ステップ4 — コンテナの起動
以下のコマンドを実行してコンテナを起動します:
docker compose up -d && docker compose logs -f -t
ステップ5 - 完了
ノード作成カードで Next をクリックし、目的の Config Profile を選択した後、Create ボタンをクリックします。
ノードのファイアウォールでNODE_PORTをパネルのIPのみに閉じることを忘れないでください。
高度な使用方法
変更されたgeositeとgeoipファイルの読み込み
- この例では
*-zapret.datファイルと:zapretカテゴリにプレースホルダー名を使用しています。実際のファイル名とカテゴリは異なります。 - サーバー(ノード)で設定されたルーティングはサーバー側のトラフィックを制御し、クライアントのDIRECT接続には影響しません。クライアントトラフィックのルーティングを管理するには、クライアント側でルーティングを設定してください。
コンテナ内の /usr/local/share/xray/ ディレクトリにマウントすることで、追加のgeositeとgeoipファイルを追加できます。
フォルダ全体をマウントしないでください。デフォルトのXray geositeとgeoipファイルが上書きされます。代わりに各ファイルを個別にマウントしてください。
docker-compose.yml ファイルに以下を追加します:
services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- './geo-zapret.dat:/usr/local/share/xray/geo-zapret.dat'
- './ip-zapret.dat:/usr/local/share/xray/ip-zapret.dat'
Xray設定での使用方法:
"routing": {
"rules": [
// 他のルール
{
"type": "field",
"domain": [ // geositeファイルの呼び出し
"ext:geo-zapret.dat:zapret"
],
"inboundTag": [ // オプション
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
},
{
"type": "field",
"ip": [ // geoipファイルの呼び出し
"ext:ip-zapret.dat:zapret"
],
"inboundTag": [ // オプション
"VLESS_TCP_REALITY"
],
"outboundTag": "NOT_RU_OUTBOUND"
}
// 他のルール
]
}
ノードログ
ホストファイルシステムにマウントすることでノードログにアクセスできます。
ログローテーションを設定する必要があります。そうしないとログがディスクを埋めてしまいます!
docker-compose.yml ファイルに以下を追加します:
services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
environment:
- NODE_PORT=2222
- SECRET_KEY="supersecretkey"
volumes:
- '/var/log/remnanode:/var/log/remnanode'
Xray設定での使用方法:
"log": {
"error": "/var/log/remnanode/error.log",
"access": "/var/log/remnanode/access.log",
"loglevel": "warning"
}
ノードをホストするサーバーで、次を実行して /var/log/remnanode フォルダを作成します:
mkdir -p /var/log/remnanode
logrotateをインストールします(まだインストールされていない場合):
sudo apt update && sudo apt install logrotate
logrotate設定ファイルを作成します:
nano /etc/logrotate.d/remnanode
RemnaNode用の次のlogrotate設定を貼り付けます:
/var/log/remnanode/*.log {
size 50M
rotate 5
compress
missingok
notifempty
copytruncate
}
logrotateを実行して設定をテストします:
logrotate -vf /etc/logrotate.d/remnanode
ノード用XRay SSL証明書
このステップは、'VLESS-Vision-TLS'などのTLSトランスポートを実装する場合に必要です。Realityトランスポートの場合は必要ありません。
Xray設定に証明書を使用している場合は、パネルにマウントする必要があります。
Dockerボリュームを使用してフォルダをマウントし、設定で内部パスを参照してください。
コンテナ内には証明書用の専用(空の)ディレクトリがあります:
/var/lib/remnawave/configs/xray/ssl/
docker-compose.yml ファイルに以下を追加します:
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
volumes:
- '/opt/remnawave/nginx:/var/lib/remnawave/configs/xray/ssl'
depends_on:
remnawave-db:
condition: service_healthy
remnawave-redis:
condition: service_healthy
パネルがノードに設定をプッシュすると、マウントされたファイルを自動的に読み取り、証明書をノードに送信します。
Xray設定での使用方法:
"certificates": [
{
"keyFile": "/var/lib/remnawave/configs/xray/ssl/privkey.key",
"certificateFile": "/var/lib/remnawave/configs/xray/ssl/fullchain.pem"
// その他のフィールド
}
]
.key と .pem の拡張子に注意してください。