x-ui docker 版本
可以通过使用不同的tag
来使用不同作者的镜像
Tag | amd64 | arm64 | armv7 | s390x | |
---|---|---|---|---|---|
vaxilu/x-ui | latest | ✅ | ✅ | ✅ | ✅ |
FranzKafkaYu/x-ui | alpha-zh | ✅ | ✅ | ❌ | ✅ |
X-UI-Unofficial/x-ui | beta | ✅ | ✅ | ❌ | ✅ |
MHSanaei/3x-ui | 3x-ui | ✅ | ✅ | ✅ | ✅ |
- 一致性且能保证环境隔离
- 快速部署
- 保证灵活性和扩展性
- 更好的可移植性
- 低成本
- 方便控制版本
- 安全
- .....
- 无需关心原宿主机的系统,架构,版本
- 不会破坏原系统,如果不想使用,很方便就能完全干净的卸载
- 部署方便且容易升级
使用官方一键脚本
curl -sSL https://get.docker.com/ | sh
使用 vaxilu/x-ui 版本的
mkdir x-ui && cd x-ui
docker run -itd --network=host \
-v $PWD/db/:/etc/x-ui/ \
-v $PWD/cert/:/root/cert/ \
--name x-ui --restart=unless-stopped \
enwaiax/x-ui
注意: 如果希望使用FranzKafkaYu/x-ui版本,仅需要讲上述镜像修改为 enwaiax/x-ui:alpha-zh
mkdir x-ui && cd x-ui
wget https://raw.githubusercontent.com//enwaiax/x-ui/main/docker-compose.yml
docker compose up -d
- 假设你的 x-ui 端口是
54321
- 假设你的 IP 是
10.10.10.10
- 假设你的域名是
xui.example.com
,且已经做好 A 记录解析 - 假设你使用的是 Debian 10+或者 Ubuntu 18+的系统
- 假设你的邮箱是
xxxx@example.com
- 安装必要软件
sudo apt update
sudo apt install snapd nginx
sudo snap install core
sudo snap refresh core
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/bin/certbot
- 新建一个 nginx 配置
touch /etc/nginx/conf.d/xui.conf
增加以下配置,按照实际情况调整
server {
listen 80;
listen [::]:80;
server_name xui.example.com;
location / {
proxy_redirect off;
proxy_pass http://127.0.0.1:54321;
proxy_http_version 1.1;
proxy_set_header Host $host;
}
# 反代websocket
location /xray {
proxy_redirect off;
proxy_pass http://127.0.0.1:10001;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Y-Real-IP $realip_remote_addr;
}
}
- 检查配置是否正常
nginx -t
- 申请证书,按照提示设置
certbot --nginx --agree-tos --no-eff-email --email xxxxx@example.com
更多细节可以参考 cerbot
- 刷新 nginx 配置生效
ngins -s reload
- 配置定时任务
sudo certbot renew --dry-run