Обновить remna.md

Signed-off-by: Reisber <admin@reisber.space>
This commit is contained in:
2026-04-01 23:41:31 +00:00
parent 41846064fe
commit 1e5d9d2777

177
remna.md
View File

@@ -1,66 +1,127 @@
# Установка ремны на основную ноду и дальнейшая настройка её агентов
## Установка панели на сервер
### Установка докер
```
# 🖥 Установка Remna на основную ноду и настройка агентов
---
## 🟢 Установка панели на сервер
### 1⃣ Установка Docker
```bash
sudo curl -fsSL https://get.docker.com | sh
```
### Установка обязательных файлов
Создадим директорию проекта
```
---
### 2⃣ Установка обязательных файлов
Создаем директорию проекта:
```bash
mkdir /opt/remnawave && cd /opt/remnawave
```
Закурлим необходимые файлы
```
Скачиваем необходимые файлы:
```bash
curl -o docker-compose.yml https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/docker-compose-prod.yml
```
###После чего на конфигурим .env файл
Создадим секретные ключи используя и пароли используя
---
### 3⃣ Настройка `.env` файла
Создаем секретные ключи и пароли:
```bash
sed -i "s/^JWT_AUTH_SECRET=.*/JWT_AUTH_SECRET=$(openssl rand -hex 64)/" .env \
&& sed -i "s/^JWT_API_TOKENS_SECRET=.*/JWT_API_TOKENS_SECRET=$(openssl rand -hex 64)/" .env
sed -i "s/^METRICS_PASS=.*/METRICS_PASS=$(openssl rand -hex 64)/" .env \
&& sed -i "s/^WEBHOOK_SECRET_HEADER=.*/WEBHOOK_SECRET_HEADER=$(openssl rand -hex 64)/" .env
```
sed -i "s/^JWT_AUTH_SECRET=.*/JWT_AUTH_SECRET=$(openssl rand -hex 64)/" .env && sed -i "s/^JWT_API_TOKENS_SECRET=.*/JWT_API_TOKENS_SECRET=$(openssl rand -hex 64)/" .env
sed -i "s/^METRICS_PASS=.*/METRICS_PASS=$(openssl rand -hex 64)/" .env && sed -i "s/^WEBHOOK_SECRET_HEADER=.*/WEBHOOK_SECRET_HEADER=$(openssl rand -hex 64)/" .env
```
Так-же рекомендуется изменить дефолтный Postgress пароль
```
pw=$(openssl rand -hex 24) && sed -i "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$pw/" .env && sed -i "s|^\(DATABASE_URL=\"postgresql://postgres:\)[^\@]*\(@.*\)|\1$pw\2|" .env
```
После этого необходимо открыть .env файл и отредактировать следующие переменные
Рекомендуется изменить пароль PostgreSQL:
```bash
pw=$(openssl rand -hex 24) \
&& sed -i "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$pw/" .env \
&& sed -i "s|^\(DATABASE_URL=\"postgresql://postgres:\)[^\@]*\(@.*\)|\1$pw\2|" .env
```
Открой `.env` и отредактируй:
```text
FRONT_END_DOMAIN
SUB_PUBLIC_DOMAIN
```
**FRONT_END_DOMAIN** is the domain name where the panel will be accessible. Enter your domain name here. Example: `panel.yourdomain.com.`
**SUB_PUBLIC_DOMAIN** for now, just enter your panel domain and add /api/sub to the end.
Example: `panel.yourdomain.com/api/sub.`
(скорее всего файл находится `cd /opt/remnawave && nano .env`)
### Дальше запускаем контейнеры
- **FRONT_END_DOMAIN** — домен панели, например: `panel.yourdomain.com`
- **SUB_PUBLIC_DOMAIN** — обычно тот же домен + `/api/sub`, например: `panel.yourdomain.com/api/sub`
Файл находится здесь:
```bash
cd /opt/remnawave && nano .env
```
---
### 4⃣ Запуск контейнеров
```bash
docker compose up -d && docker compose logs -f -t
```
## После этого необходимо настроить reverse=proxy
### Я выбираю Nginx, но в оффициальной доке много других вариантов
Установим необходимые зависимости
```
---
## 🔄 Настройка Reverse Proxy
### 1⃣ Установка зависимостей
```bash
apt-get install cron socat
```
Потом установим acme.sh
```
Установка acme.sh:
```bash
curl https://get.acme.sh | sh -s email=EMAIL && source ~/.bashrc
```
(можно использовать любую почту, но лучше использовать валидную)
### Далее создадим папку для сертов
`mkdir -p /opt/remnawave/nginx && cd /opt/remnawave/nginx`
И выпускаем сертификат (НЕ ИСПОЛЬЗУЙТЕ ДОМЕННЫЕ ЗОНЫ .ru .su .рф)
> Используй валидный email.
---
### 2⃣ Создание папки для сертификатов
```bash
mkdir -p /opt/remnawave/nginx && cd /opt/remnawave/nginx
```
acme.sh --issue --standalone -d 'DOMAIN' --key-file /opt/remnawave/nginx/privkey.key --fullchain-file /opt/remnawave/nginx/fullchain.pem --alpn --tlsport 8443
```
Тут, вообще, я-бы даже рекомендовал вам попробовать сделать это через Nginx proxy manager (на случай если вы будете разворачивать другие сервисы на сервере)
Так или иначе, конфигурим nginx
Выпуск сертификата (не используйте `.ru`, `.su`, `.рф`):
```bash
acme.sh --issue --standalone -d 'DOMAIN' \
--key-file /opt/remnawave/nginx/privkey.key \
--fullchain-file /opt/remnawave/nginx/fullchain.pem \
--alpn --tlsport 8443
```
> Можно использовать Nginx Proxy Manager для других сервисов.
---
### 3⃣ Конфигурация Nginx
Открываем файл:
```bash
cd /opt/remnawave/nginx && nano nginx.conf
```
И суём туда следующий конфиг
```
Вставляем следующий конфиг:
```nginx
upstream remnawave {
server remnawave:3000;
}
@@ -81,21 +142,21 @@ server {
proxy_set_header X-Forwarded-Proto $scheme;
}
# SSL Configuration (Mozilla Intermediate Guidelines)
ssl_protocols TLSv1.2 TLSv1.3;
# SSL Configuration
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_session_tickets off;
ssl_certificate "/etc/nginx/ssl/fullchain.pem";
ssl_certificate_key "/etc/nginx/ssl/privkey.key";
ssl_trusted_certificate "/etc/nginx/ssl/fullchain.pem";
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 1.0.0.1 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220 valid=60s;
resolver_timeout 2s;
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 1.0.0.1 8.8.8.8 8.8.4.4 208.67.222.222 208.67.220.220 valid=60s;
resolver_timeout 2s;
# Gzip Compression
gzip on;
@@ -135,12 +196,18 @@ server {
ssl_reject_handshake on;
}
```
После чего создаём docker-compose файл
```
---
### 4⃣ Создание Docker Compose для Nginx
```bash
cd /opt/remnawave/nginx && nano docker-compose.yml
```
И пихаем туда следующее
```
Вставляем:
```yaml
services:
remnawave-nginx:
image: nginx:1.28
@@ -162,7 +229,11 @@ networks:
driver: bridge
external: true
```
Запускаем контейнеры и идём на наш домен в браузере
```
---
### 5⃣ Запуск Nginx контейнера
```bash
docker compose up -d && docker compose logs -f -t
```