Docker部署X-UI

Article1个月前更新 Done
186 30

X-UI(Xray-UI)是一款基于 Web 的 Xray 前端管理工具,xui为用户提供了一个方便的界面来配置和管理 Xray 服务。

  • 具有简单易用、功能丰富、开源免费等特点,可以在多种平台上运行包括 Linux、Windows 和 macOS 等。
  • 用户可以轻松地添加、删除和修改 Xray 的入站和出站协议,以及设置日志记录和流量统计等功能。
  • 还提供了一些额外的功能,如路由策略、负载均衡、TLS 加密等,可以帮助用户更好地管理和保护网络。

部署

部署Docker教程:https://bj.cddone.com/doc/14/

1、创建工作目录

mkdir -p /home/docker/x-ui && cd /home/docker/x-ui

2、创建容器yaml文件

vim docker-compose.yaml
  • 指定镜像名称
  • 设置容器名称
  • 设置容器自启动
  • 设置容器网络模式(主机模式)
  • 映射端口
version: '3'
services:
  x-ui:
    image: enwaiax/x-ui:latest
    container_name: x-ui
    restart: unless-stopped
    network_mode: host
    volumes:
      - /home/docker/x-ui/config:/etc/x-ui/
      - /usr/local/nginx/conf/ssl/:/root/cert/

3、运行容器

docker-compose up -d

4、查看容器信息

docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED        STATUS        PORTS                                                  NAMES
0aa91d9de562   enwaiax/x-ui:latest        "x-ui"                   12 hours ago   Up 12 hours                                                          x-ui

5、登录管理面板http://ip:54321

  • 默认启动http
  • 默认端口:54321
  • 默认账户密码:admin:admin
Docker部署X-UI

 

6、面板配置(保存重启后使用https登录)

  • 监听端口修改
  • 添加ssl证书,参考 Acme申请ssl证书
  • 证书放入主机的映射目录/home/docker/x-ui/cert
  • 面板内指定的证书必须是容器内的路径/root/cert
Docker部署X-UI

 

7、用户设置

Docker部署X-UI

 

8、添加入站列表(没有说明的默认为空即可)

  • 备注:自定义名称
  • 协议:使用默认vmess即可
  • 端口号:自行指定
  • 总流量:空不限制,设置上限到达后自动关闭线路
  • 到期时间:空不限制,设置一个时间到达后自动关闭线路
  • id:使用默认即可
  • 传输:选择ws协议
  • 路径:自定义即可
  • tls:开启
  • 域名:解析到服务器的域名
  • 证书:指定证书存放的路径
Docker部署X-UI

 

9、入站信息管理:获取二维码、编辑、重置流量、删除

Docker部署X-UI

 

 

10、客户端连接

  • 手机端使用Shadiwrocket直接扫码获取入站参数
Docker部署X-UIDocker部署X-UI

 

© 版权声明

相关文章

3 条评论

  • docker
    docker 游客

    教程很好,比官方详细,多谢了!

    中国广东
    回复
  • docker
    docker 游客

    关于,DOCKER环境内面板配置SSL,全网教程都语焉不详很难成功,请博主有空出个教程。主要存在的问题是:
    1、docker内终端不能执行很多外部命令,无法用一键脚本。
    2、YAML文件和RUN命令里映射文件目录难成功,各种问题文件为空或者宿主机文件消失,和参数或环境有关,需要设置只读:ro问题?
    3、证书有有效期需要定期更新不能用直接复制方法,只能映射目录,官方脚本命令语法有问题;
    4、最重要的就是需要解决docker内面板使用宿主机现有SSL证书问题,如果正确传递?enwaiax作者确认容器内面板不支持命令行。官方页面指引里需要配置宿主机Nginx,设置SOCKS代理,教程有问题不完整。
    请大神研究下出个教程,谢谢!

    中国广东
    回复
    • Done

      前一段时间比较忙没有回复,特来回复一下
      关于1:因为容器内部环境都比较精简化,很多命令是不支持的,大部分命令可以在外部执行,假设您要在名为my_container的容器中执行ls -l命令,您可以这样做:docker exec my_container ls -l,但是还是要注意很多命令 容器内可能bash环境不支持所以不能使用
      关于2:容器的文件映射要理解清楚相对路径和绝对路径,这样在映射时候区分清楚外部和内部的关系,可以分开理解,容器内部写配置文件一定要写内部的路径,外部路径只做映射存放文件时候考虑;
      关于3/4一起回答:关于ssl证书的话可以选择使用cloudflare的cdn(缺点大陆访问可能会很慢还有大陆屏蔽等问题,不过使用cdn对源服务器比较安全,可以研究一下优选域名) 使用cf的cdn可以申请他家的15年证书 这样不用频繁续签,或者用acme的3个月证书这个可以写shell自动执行命令续签,证书映射外部路径这时候可以考虑编写一个shell脚本,定期替换容器映射外部的ssl文件,重启容器重新读取也可以写在shell脚本里;

      美国@ docker
      回复