<===

ProNotes

2025-11-30 09:03:56
Кратко: проще всего поднять Xray VLESS+Reality в Docker через готовый образ или docker‑compose‑проекты, где уже есть пример конфига и переменные окружения. Ниже — минимальная рабочая схема под VPS в Германии.

## 1. Предварительные условия

1. Открыты порты 80/443 в фаерволе VPS (и в панели провайдера).  
2. На сервере установлен Docker и docker compose plugin (`docker compose`). Установка по официальному скрипту Docker: `curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh`.[1][2]
3. Желательно иметь домен, указывающий на IP VPS (для нормального SNI), но Reality может работать и по IP, если использовать валидный SNI внешнего сайта.[3][4]

## 2. Вариант №1: готовый образ `xtls-reality-docker` (минимум настроек)

1. Сгенерировать `short_id` на хосте:  
   ```bash
   openssl rand -hex 8
   ```
   Значение сохранить, это `SHORT_ID` для клиента.[2][5]

2. Выбрать SNI (например, `www.cloudflare.com` или любой крупный сайт с 443/tcp). Это то, что клиент будет указывать как `serverName`/SNI.[4][3]

3. Запустить контейнер:  
   ```bash
   sudo docker pull myelectronix/xtls-reality:latest
   sudo docker run -d --rm \
     -p 443:443 \
     -e SNI=ВАШ_SNI \
     -e SHORT_ID=ВАШ_SHORT_ID \
     -v xtls-reality-volume:/opt/xray/config \
     --name xtls-reality myelectronix/xtls-reality:latest
   ```
   Образ сам поднимет Xray с VLESS+Reality и сгенерирует ключи; конфиги будут лежать в volume `xtls-reality-volume`.[5]

4. Если удобнее через docker‑compose, клонировать репозиторий и запустить:  
   ```bash
   git clone https://github.com/myelectronix/xtls-reality-docker
   cd xtls-reality-docker
   # при необходимости отредактировать docker-compose.yml (SNI/SHORT_ID)
   docker compose up -d
   ```

В репозитории есть пример docker‑compose и описание переменных окружения, которые нужно подставить под свой домен/SNI.[5]

## 3. Вариант №2: свой `docker-compose.yml` + свой config.json

Если хочешь полный контроль над конфигом:

1. Создать структуру каталогов на VPS, например:  
   ```bash
   mkdir -p ~/xray/data
   cd ~/xray
   ```

2. Сгенерировать Reality‑ключи и shortId:  
   ```bash
   docker run --rm ghcr.io/xtls/xray-core:latest xray x25519
   # сохранить private / public key
   openssl rand -hex 8  # shortId
   ```

3. Создать `data/config.json` с inbound VLESS+Reality (можно взять за основу пример реальности c XTLS Vision из гайдов и подставить свои `privateKey`, `shortId`, `serverNames`, `dest`).[2][3][4]

4. Создать `docker-compose.yml` примерно такого вида:  
   ```yaml
   services:
     xray:
       image: ghcr.io/xtls/xray-core:latest
       container_name: xray-reality
       restart: unless-stopped
       volumes:
         - ./data/config.json:/usr/local/etc/xray/config.json:ro
       ports:
         - "0.0.0.0:443:443/tcp"
       command: ["xray", "-config", "/usr/local/etc/xray/config.json"]
   ```
   Такой compose-файл поднимает Xray в отдельном контейнере и прокидывает порт 443 наружу.[2]

5. Запуск/управление:  
   ```bash
   docker compose up -d
   docker compose logs -f
   ```

## 4. Вариант с web‑панелью (3x-ui)

Если хочешь кликать через UI:

1. Создать `docker-compose.yml` с образом 3X‑UI:  
   ```yaml
   version: "3"
   services:
     3x-ui:
       image: ghcr.io/mhsanaei/3x-ui:latest
       container_name: 3x-ui
       network_mode: host
       restart: unless-stopped
       volumes:
         - ./db/:/etc/x-ui/
   ```

2. Запустить:  
   ```bash
   docker compose up -d
   ```

3. Зайти в веб‑панель (порт и пароль берёшь из логов контейнера) и там уже создать инстанс VLESS+Reality через GUI.[6]

***

Если напишешь, какой именно вариант тебе ближе (чистый Xray с ручным конфигом или готовый образ/панель), можно разобрать конкретный `config.json` под твой домен/IP и клиент (например, v2rayNG/nekobox).

[1](https://github.com/Arman92/xtls-dockerized)
[2](https://linuxguidance.net/xray-xtls-reality-in-docker/)
[3](https://github.com/wpdevelopment11/xray-tutorial)
[4](https://xtls.github.io/en/config/outbounds/vless.html)
[5](https://github.com/myelectronix/xtls-reality-docker)
[6](https://semenov.work/posts/3x-ui-vless-reality-vpn/)
[7](https://stackoverflow.com/questions/68633740/installing-xray-and-configure-with-jfrog-artifactory-using-docker-compose)
[8](https://github.com/XTLS/Xray-core/issues/4033)
[9](https://stackoverflow.com/questions/69563734/issues-with-xray-as-side-container-in-aws-ecs-with-docker-compose)
[10](https://doc.openresty.com/en/xray/on-premise/docker-compose-deployment/)
← Previous Next →
Back to list