Features:
- Fully functional, privately deployed Zerotier planet server with Official Controller and Controller UI (Zero-UI).
- Automatically detect the public ipv4 address of the server and generate the planet file to download.
- One-click deployment using
docker-compose
with small size docker image. - Support switch China source to build.
- A VPS with a static public ip (Open the following ports:
4000/tcp
and9993/udp
) docker
anddocker-compose
installed
-
Clone this repo to your VPS
$ git clone https://github.com/hamlinzheng/docker-zerotier-server.git
-
Modify the installation version of
ZeroTier
(default: 1.8.6) andZero-UI
(default: 1.2.1) indocker-compose.yml
(Optional) -
Build the images
$ docker-compose build
-
Run the containers in daemon
$ docker-compose up -d
-
Navigate to
http://[PUBLIC_IP]:4000/app/
to config your private ZeroTier service. The default username isadmin
and the default password iszero-ui
- This project does not provide HTTP reverse proxy, which needs to be deployed on the host machine.
- Since the public network ip of the server needs to be detected, it needs to be compiled on the deployed server
- A static key pair is used by default. You can use
zerotier-idtool generate identity.secret identity.public
command to generate a new key pair on the machine whereZeroTier
is installed according to your own needs, and replace theconfig
folder.
Download private planet
file from http://[PUBLIC_IP]:4000/app/static/planet
and use it replace the peer's planet file. Then you can connect to your own ZeroTier
planet server.
$ sudo wget http://[PUBLIC_IP]:4000/app/static/planet -O /var/lib/zerotier-one/planet
$ sudo systemctl restart zerotier-one.service
Replace the planet file in the C:\ProgramData\ZeroTier\One
path and restart the ZeroTier
service.
See kaaass/ZerotierFix
Replace the planet file in the /etc/config/zero
path and restart the ZeroTier
service with $ /etc/init.d/zerotier restart
TODO (https://docs.zerotier.com/devices/synology/)
Use sudo zerotier-cli peers
command to check whether your server ip is in the PLANET
list.
Use zerotier-cli join
command to join your private network.
- Optimize the docker image size of zero-ui
- Support multiple Planet
- Support IPv6
- Support domain