🎈 编译时间:2024年02月03日-12点24分
docker-compose up -d初始化容器时,根据需要设置AUTOGEN_PLANET环境变量:
| 强制的 | 变量名 | 解释 | 默认值 |
|---|---|---|---|
| no | AUTOGEN_PLANET=0 | 默认值AUTOGEN_PLANET=0不执行任何操作 | 0 |
| no | AUTOGEN_PLANET=1 | 设置AUTOGEN_PLANET=1自动生成私有planet文件并放入httpfs文件夹以供外部下载 | 0 |
| no | AUTOGEN_PLANET=2 | 设置AUTOGEN_PLANET=2自动生成私有planet&moon文件并放入httpfs文件夹以供外部下载 | 0 |
| no | AUTOGEN_PLANET=3 | 如果你是多台服务器请设置AUTOGEN_PLANET=3这将使用mkworld.config.json文件 | 0 |
警告: 如果你是多台服务器请设置`AUTOGEN_PLANET=3 使用mkworld.config.json文件,以便编辑mkworld.config.json
version: '3.1'
services:
ztncui:
image: mingertai/ztncui-aio
container_name: ztncui
hostname: ztncui
restart: always
cap_add:
- ALL
devices:
- /dev/net/tun
network_mode: bridge
ports:
- 3000:3000
- 3180:3180
- 4000:4000
- 9993:9993
- 9993:9993/udp
volumes:
- /home/zerotier/opt/key-networks/ztncui/etc:/opt/key-networks/ztncui/etc
- /home/zerotier/var/lib/zerotier-one:/var/lib/zerotier-one
- /home/zerotier/etc/zt-mkworld:/etc/zt-mkworld
environment:
- TZ=Asia/Shanghai
- AUTOGEN_PLANET=0
- NODE_ENV=production
- HTTPS_HOST=0.0.0.0
- HTTPS_PORT=4000
- HTTP_PORT=3000
- HTTP_ALL_INTERFACES=yes
- MYDOMAIN=ztncui.docker.test # ztncui.docker.test 替换你的域名
- ZTNCUI_PASSWD=admin
- MYADDR=你的公网ip
privileged: true
AUTOGEN_PLANET=3 时,使用下面脚本自动创建planet&moon文件#!/bin/bash
# 把9993替换你本机设置的端口
myport1=9993
# 把239.221.47.23替换你另一台的ip地址
myip2=239.221.47.23
# 把9993替换你另一台设置的端口
myport2=9993
# 替换你另一台的identity数据 注:identity2=后面的数据
identity2=46ea9f8088:0:06a11875324cec9bc41cc5bf932c5b105806feb475c71104bc235c530a3b1472375001a6e7346301f37a1518719b35f8f863382e5d8ab5c89794e708362dfca7
########
# 下面的不用动它
########
myadd2=$myip2/$myport2
cat << EOF > /home/zerotier/etc/zt-mkworld/mkworld.config.json
{
"rootNodes": [
{
"comments": "$(wget -qO- http://ipecho.net/plain | xargs echo) 私有 Planet",
"identity": "$(cat /home/zerotier/var/lib/zerotier-one/identity.public)",
"endpoints": [
"$(wget -qO- http://ipecho.net/plain | xargs echo)/$myport1",
"$myadd2"
]
},
{
"comments": "$myip2 私有 Planet",
"identity": "$identity2",
"endpoints": [
"$myadd2",
"$(wget -qO- http://ipecho.net/plain | xargs echo)/$myport1"
]
}
],
"signing": ["previous.c25519", "current.c25519"],
"output": "planet.custom",
"plID": 0,
"plBirth": 0,
"plRecommend": true
}
EOF
sleep 8s
#################################### 分隔线 下面生成moon代码
# 创建 自动生成moon脚本
cat << 'EOF' > /root/moon.sh
#!/bin/sh
set -x
zerotier-idtool initmoon /var/lib/zerotier-one/identity.public > moon.json
chmod 777 moon.json
moonip="[\"${MYADDR}/9993\"]"
sed -i "s#127.0.0.1#${MYADDR}#g" moon.json
sed -i "s#\[\]#${moonip}#g" moon.json
cat moon.json
zerotier-idtool genmoon moon.json
mkdir /var/lib/zerotier-one/moons.d
cp *.moon /var/lib/zerotier-one/moons.d
cp *.moon /opt/key-networks/ztncui/etc/httpfs/
moon_id=$(cat /var/lib/zerotier-one/identity.public | cut -d ':' -f1)
echo -e "++++++++++++++++++++++++你的 ZeroTier moon id 是 $moon_id++++++++++++++++++++++++\\n\\nWindows客户端加入moon服务器,在终端输入:\\n\\ncd C:\ProgramData\ZeroTier\One\\n\\n接着输入:\\n\\nzerotier-cli orbit $moon_id $moon_id\\n\\n++++++++++++++++++++++++++++++检查是否加入moon服务器+++++++++++++++++++++++++++++\\n\\n在终端输入 如下命令:\\n\\nzerotier-cli listpeers\\n\\n+++++++++++++++++++++++++++++++++++加入网络+++++++++++++++++++++++++++++++++++++\\n\\n执行如下命令:\\n\\nPS C:\Windows\system32> zerotier-cli.bat join 网络id(就是在网页里面创建的那个网络)\\n\\n200 join OK\\n\\nPS Windows\system32>\\n\\n+++++++++++++++++++++Docker 如果想把服务器控制器也加入节点中+++++++++++++++++++++\\n\\n在容器里加入Network ID就可以了,输入如下进入容器:\\n\\ndocker exec -it ztncui bash\\n\\nzerotier-cli join Network ID\\n\\n++++++++++++++++++++++++++++++++ MacOS 客户端 ++++++++++++++++++++++++++++++++\\n\\n步骤如下步骤如下:\\n\\n进入 /Library/Application\ Support/ZeroTier/One/ 目录,并替换目录下的 planet 文件\\n\\n重启 ZeroTier-One:cat /Library/Application\ Support/ZeroTier/One/zerotier-one.pid | sudo xargs kill\\n\\n加入网络 zerotier-cli join 网络 id\\n\\n管理后台同意加入请求\\n\\nzerotier-cli peers 可以看到 planet 角色\\n\\n++++++++++++++++++++++++++++++++ Linux 客户端 ++++++++++++++++++++++++++++++++\\n\\n步骤如下:\\n\\n安装linux客户端软件\\n\\n进入目录 /var/lib/zerotier-one\\n\\n替换目录下的 planet 文件\\n\\n重启 zerotier-one 服务(service zerotier-one restart)\\n\\n加入网络 zerotier-cli join 网络 id\\n\\n管理后台同意加入请求\\n\\nzerotier-cli peers 可以看到 planet 角色\\n\\n+++++++++++++++++++++++++++++++如何判断是直连还是中转+++++++++++++++++++++++++++\\n\\n管理员权限执行终端,运行zerotier-cli peers\\n\\n<ztaddr> <ver> <role> <lat> <link> <lastTX> <lastRX> <path>\\n\\n69c0d507d0 - LEAF -1 RELAY\\n\\n93caa675b0 1.12.2 PLANET -894 DIRECT 4142 4068 110.42.99.46/9994\\n\\nab403e2074 1.10.2 LEAF -1 RELAY" > /opt/key-networks/ztncui/etc/httpfs/使用说明.txt
EOF
# 生成moon文件
cd && cd /root
chmod +x moon.sh
docker cp moon.sh ztncui:/tmp
rm -rf moon.sh
docker exec -it ztncui bash /tmp/moon.sh
# 重启ztncui 注:ztncui为容器名
docker restart ztncui
Content type
Image
Digest
sha256:f00901312…
Size
95.8 MB
Last updated
over 2 years ago
docker pull mingertai/ztncui-aio