Optimized Standalone Xray Server with REALITY and Auto-Update
10K+
这是一个完全解耦、开箱即用的 Xray 服务端 Docker 部署套件。默认采用目前抗封锁与传输性能最佳的 VLESS + XTLS + REALITY (Vision 流控) 架构,无需自行申请或维护 SSL 证书。
vless://)。amd64、arm64、armv7 等硬件架构。在目录中创建 docker-compose.yml:
services:
xray:
image: ghcr.io/wimotek/xray:latest
# 若使用 Docker Hub 镜像可切换为: wimotek/xray:latest
container_name: xray-service
restart: unless-stopped
network_mode: "host"
environment:
- TZ=Asia/Shanghai
- AUTO_UPDATE=true # 每次重启容器时自动检查并热更新到官方最新版
- PORT=443 # 监听端口
- DEST=www.apple.com:443 # REALITY 伪装目标地址与端口
- SERVER_NAMES=www.apple.com,apple.com
volumes:
- ./data:/etc/xray
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
在项目目录下执行:
docker compose up -d
无需创建配置文件,直接在终端执行以下命令启动:
直接复用宿主机网络栈,能最大化 TCP/UDP 传输性能:
docker run -d \
--name xray-service \
--restart unless-stopped \
--network host \
-v $(pwd)/data:/etc/xray \
-e TZ=Asia/Shanghai \
-e AUTO_UPDATE=true \
-e PORT=443 \
-e DEST=www.apple.com:443 \
-e SERVER_NAMES=www.apple.com,apple.com \
ghcr.io/wimotek/xray:latest
选项 2:端口映射模式(跨平台 / 非 Host 环境)
适用于 macOS、Windows Docker Desktop 或需要固定暴露端口的环境:
docker run -d \
--name xray-service \
--restart unless-stopped \
-p 443:443/tcp \
-p 443:443/udp \
-v $(pwd)/data:/etc/xray \
-e TZ=Asia/Shanghai \
-e AUTO_UPDATE=true \
-e PORT=443 \
-e DEST=www.apple.com:443 \
-e SERVER_NAMES=www.apple.com,apple.com \
ghcr.io/wimotek/xray:latest
容器启动后会自动生成配置并打印节点链接,执行以下命令查看:
docker logs xray-service
终端将输出类似以下内容:
======================================================
Xray Reality 节点配置信息
======================================================
IP / 地址: 198.51.100.???
端口: 443
UUID: ????????-????-????-????-????????????
流控 (flow): xtls-rprx-vision
传输协议: tcp
安全类型: reality
SNI / 伪装域名: www.apple.com
公钥 (PublicKey): ????????????????????????????????????????????
ShortId: ????????????????
Fingerprint: chrome
客户端导入链接:
vless://[email protected].???:443?security=reality&encryption=none&pbk=???&headerType=none&fp=chrome&type=tcp&flow=xtls-rprx-vision&sni=www.apple.com&sid=???#Xray-Reality
======================================================
也可以随时在宿主机查看持久化的节点信息:
cat ./data/client_info.txt
在 docker-compose.yml 中已默认配置环境变量 AUTO_UPDATE=true。每次重启容器时,脚本会自动检测官方最新 Release,如有更新则自动拉取替换:
docker compose restart xray
执行内置的热更新命令,直接拉取官方最新二进制:
docker exec -it xray-service update-xray
docker compose restart xray
docker compose build --no-cache
docker compose up -d
可通过修改 docker-compose.yml 中的 environment 自定义各项参数:
| 环境变量 | 默认值 | 纯内核版 (:latest) | Web 管理版 (:web) | 说明 |
|---|---|---|---|---|
AUTO_UPDATE | true | ✔ | ✔ | 容器启动时是否自动检查并更新 Xray 官方最新版 |
PORT | 443 | ✔ | ✔ | REALITY 入站监听端口 |
DEST | www.apple.com:443 | ✔ | ✔ | REALITY 目标回落与伪装握手地址 |
SERVER_NAMES | www.apple.com,apple.com | ✔ | ✔ | REALITY 可信伪装 SNI 域名列表(逗号分隔) |
SERVER_IP | 自动获取 | ✔ | ✔ | 客户端连接的目标公网 IP,多网卡时建议手动指定 |
UUID | 自动生成 | ✔ | ✔ | 自定义客户端连接 UUID(Web 版作为初始用户 ID) |
PRIVATE_KEY | 自动生成 | ✔ | ✔ | 自定义 REALITY 服务端私钥(需与 PUBLIC_KEY 匹配) |
PUBLIC_KEY | 自动生成 | ✔ | ✔ | 自定义 REALITY 客户端公钥 |
SHORT_ID | 自动生成 | ✔ | ✔ | 自定义十六进制 ShortId |
WEB_ENABLE | true | ✖ | ✔ | 是否启动内置 Web 控制台 |
WEB_PORT | 8080 | ✖ | ✔ | Web 控制台访问端口 |
WEB_PASSWORD | 首次随机生成 | ✖ | ✔ | Web 控制台管理员登录密码 |
USER_COUNT | 2 | ✖ | ✔ | 首次初始化时自动创建的用户数(Web 版多用户支持) |
复制控制台生成的 vless://??? 链接,直接粘贴导入主流客户端:
建议在 Linux 宿主机上开启 BBR 拥塞控制算法以获得更高吞吐量与抗丢包表现:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
检查 BBR 是否成功生效:
sysctl net.ipv4.tcp_congestion_control
# 输出应包含: bbr
./data/config.json: 当前运行的 Xray 服务端核心配置。./data/client_info.txt: 当前节点的公私钥及 vless://??? 导入链接备份。./data/config.json 后重新启动容器即可。Content type
Image
Digest
sha256:73f7fb9ef…
Size
30.6 MB
Last updated
about 6 hours ago
docker pull wimotek/xray