Skip to content

ZhouBlackDuck/zerotier-aio

 
 

Repository files navigation

README.md

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

About

Zerotier Private Server with WebUI

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 93.6%
  • C 2.5%
  • JavaScript 2.1%
  • Pug 1.2%
  • Shell 0.3%
  • Dockerfile 0.1%
  • Other 0.2%