docker部署XUI及各种节点
查看docker容器ip地址命令
docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)1.配置docker-compose.yml文件
(源站:https://github.com/FranzKafkaYu/x-ui)
version: '3.9'
services:
x-ui:
network_mode: host
image: 'enwaiax/x-ui:alpha-zh'
restart: unless-stopped
container_name: x-ui
volumes:
- './cert/:/root/cert/'
- './db/:/etc/x-ui/'随后docker-compose up -d启动容器
默认用户名密码admin,默认端口54321
2.搭建节点
vmess+ws
- 点击入站列表
- 添加入站备注输入vmess+ws
- 协议选择vmess
- 点击+号添加一个用户
- 将网络改成ws
- 复制ID前面一小段粘贴到路径(注意前面的斜杠不要删掉了)
- 点击添加
vless+vision
- 点击添加入站备注填入vless+vision
- 点击添加用户
- 打开tls
- flow选择vision
- 将这个IP地址的3个点改成3个减号
- 在结尾加上.nip.io
- 安装acme
curl https://get.acme.sh | sh; apt install socat -y; ~/.acme.sh/acme.sh --set-default-ca --server letsencrypt- 申请证书
~/.acme.sh/acme.sh --issue -d 107-172-101-204.nip.io --standalone -k ec-256 --force --insecure- 安装证书
~/.acme.sh/acme.sh --install-cert -d 107-172-101-204.nip.io --ecc --key-file /root/docker/xui/cert/server.key --fullchain-file /root/docker/xui/cert/server.crt- 由于是docker做了文件夹映射,其实际路径应为:
- 密钥文件路径/root/cert/server.key
- 公钥文件路径/root/cert/server.crt
vless+vision+reality
- 点击添加入站备注填入vless+vision+reality
- 端口改成443
- 点击加号添加一个用户
- 开启reality
- flow改成vision
- 将目标网站的网址部分改成1.1.1.1
- 注意保留结尾的冒号443
- 复制ID前面一小部分
- 粘贴到可选域名 结尾加上.com 点击添加
第三种vless+vision+reality的节点就搭建好了
3.伪装站点并反代
- 部署Dockerfile文件
FROM nginx
# Install Certbot
RUN apt-get update && apt-get install -y certbot python3-certbot-nginx
# Expose HTTP and HTTPS ports
EXPOSE 80 443
# Start Nginx and Certbot
CMD ["nginx", "-g", "daemon off;"]- 部署docker-compose文件
version: '3.9'
services:
nginx-certbot:
build: ./certbot
image: nginx-certbot
network_mode: host
volumes:
- ./nginx/html:/usr/share/nginx/html
- ./nginx/conf.d:/etc/nginx/conf.d
ports:
- 443:443
- 80:80
container_name: nginx- 配置conf.d文件


