* Improve Docs Grammar * Update docs/features/hwid-device-limit.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/features/hwid-device-limit.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/installation/env-variables.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/installation/env-variables.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/panel-security/caddy-with-custom-path.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/panel-security/caddy-with-custom-path.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/subscription-templating/subscription-templates.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/subscription-templating/subscription-templates.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/installation/reverse-proxies/try-cloudflare.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/panel-security/caddy-with-minimal-setup.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> * Update docs/panel-security/caddy-with-minimal-setup.md Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> --------- Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2.8 KiB
sidebar_position, slug, title
| sidebar_position | slug | title |
|---|---|---|
| 1 | /installation/node/quick-start | Quick start |
Installation
Remnanode consists of only 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
:::info This guide was written for Debian 12, instructions may vary for other distributions. :::
- To use Remnanode you will need to install docker, if not already.
sudo curl -fsSL https://get.docker.com | sh
- Create a directory for the project files.
mkdir -p /opt/remnanode && cd /opt/remnanode
- Create and edit the
.envfile.
nano .env
- Add the following content to the .env file:
:::info SSL_CERT can be found in the main panel under the Nodes tab, Management page, after clicking the Create new node button. APP_PORT can be customized, make sure it's not being used by other services. :::
APP_PORT=2222
SSL_CERT=CERT_FROM_MAIN_PANEL
:::warning Do not use port 61001 as APP_PORT - it is a service port! Make sure APP_PORT is only accessible from your panel IP! :::
- Create a
docker-compose.ymlfile, example below:
services:
remnanode:
container_name: remnanode
hostname: remnanode
image: remnawave/node:latest
restart: always
network_mode: host
env_file:
- .env
- Run the container.
docker compose up -d
- Check the logs.
docker compose logs -f
- Remnanode is now running.
Now we are ready to create a new 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.
:::caution
Do not mount the entire folder. Otherwise, you will overwrite the default Xray geosite files. Mount each file 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
// highlight-next-line-green
volumes:
// highlight-next-line-green
- './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
]
}