Skip to content

imashen/zerotier-aio

Repository files navigation

README.md

鸣谢

key-networks/ztncui

Zerotier All in One

GitHub License Docker Automated build Current Release GitHub stars GitHub forks Docker Pulls Docker Image Size GitHub issues GitHub closed issues GitHub contributors

快速导航:

搭建独立面板 环境变量 文件服务器 搭建Moon/Planet服务器


docker run -d -p 9993:9993/udp -p 3443:3443 -p 3180:3180 \
    -v zerotier-one:/var/lib/zerotier-one \
    -v zerotier-webui:/www/zerotier-webui/etc \
    -v zerotier-logs:/logs \
    --env-file ./denv \
    --name zerotier-aio \
    imashen/zerotier-aio

除此之外,您可以将数据卷改为本地目录挂载,引入环境变量的方式也可以改为-e引入 --env-file环境变量文件内容详见仓库中的denv

docker run -d -p 9993:9993/udp -p 3443:3443 -p 3180:3180 \
    -v /opt/zerotier/zerotier-one:/var/lib/zerotier-one \
    -v /opt/zerotier/zerotier-webui:/www/zerotier-webui/etc \
    -v /opt/zerotier/zerotier-logs:/logs \
    -e NODE_ENV=production \
    -e ZEROTIER-WEBUI_PASSWD=password123 \
    -e MYDOMAIN=site.test \
    --name zerotier-aio \
    imashen/zerotier-aio

文件介绍

/var/lib/zerotier-one用于存放zerotier默认的运行时和配置文件

files-zt1

/www/zerotier-webui/etc是文件服务器并存放有Web面板的证书

files-webui

/logs存放日志文件

files-logs


必需环境变量

Name 解释 默认值
NODE_ENV 参考 https://pugjs.org/api/express.html production
MYADDR 您的IP地址,建议使用公网IP 无默认值

可选环境变量

Name 解释 默认值
HTTPS_HOST 仅监听在 HTTPS_HOST:HTTPS_PORT 无默认值
HTTPS_PORT HTTPS端口 3443
HTTP_PORT HTTP端口 3000
HTTP_ALL_INTERFACES 监听所有接口,仅适用于HTTP,适用于反向代理 无默认值
MYDOMAIN 动态生成TLS证书的域名 site.test(亦可是本机IP)
ZEROTIER-WEBUI_PASSWD 动态生成的管理员密码 password123(设定为弱密码则会重新动态生成,详见日志)

请注意,为数据传输的安全起见 HTTPS_PORT 默认在全网口监听,HTTP_PORT 仅本地 localhost/127.0.0.1 监听。


此镜像在端口 3180 上开放了一个HTTP服务器,因此您可以在 /myfs/ 中保存文件以进行服务。例如,您可以使用此功能构建自己的根服务器并分发行星文件。


Moon/Planet便捷部署

您可以使用 docker exec -it zerotier-aio /bin/bash 进入容器

exec_container

执行 mkmoonmkplanet 查看帮助


输入指令mkmoon获取帮助信息

usage_mkmoon

Usage: mkmoon [options]
Options:
  -h, --help            Display this help message
  -4 <IPv4>             Set the IPv4 address for the moon
  -6 <IPv6>             Set the IPv6 address for the moon
  -p <port>             Set the port for the moon (default is 9993)

其中v4/v6地址必须填入一个 每个参数都可以缺省 Port默认为9993

成功运行会得到下述效果:

usage_mkmoon_out


输入指令mkplanet获取帮助信息

usage_mkplanet

Usage: mkplanet [options]
Options:
  -h, --help          Display this help message
  -j2b, --json2bin      Convert from JSON file to planet
  -b2j, --bin2json      Convert from planet to JSON format
  -r, --reset              Reset planet from origin-planet.json

首先运行 mkplanet -b2jmkplanet --bin2json 将官方自带的planet转义为json文件,方便修改

usage_mkplanet_b2j

planet.json中按照固定结构填入你自己的Planet服务器信息,最多填入四个!!!

planet_json

配置完成后再次运行 mkplanet -j2bmkplanet --json2bin 重新将json文件打包为planet

usage_mkplanet_j2b

此时的planet文件分发到各个设备中,即可实现自建Moon 为方便分发,详见文件服务器

此外mkplanet工具自带了一键恢复planet功能,如果你的配置文件不幸损坏或者丢失官方文件,可通过 mkplanet -rmkplanet --reset 重新生成官方planet文件

usage_mkplanet_reset