ZTNET

ZeroTier Web UI for Private Controllers with Multiuser and Organization Support.

Access the Web UI

  • Open in your browser: http://<SERVER_IP>:3000
  • The first registered user automatically becomes administrator.

Important Files and Directories

  • Application installation: /root/ztnet
  • Docker Compose file: /root/ztnet/docker-compose.yml
  • Environment variables: /root/ztnet/.env
  • PostgreSQL database data: /var/lib/docker/volumes/ztnet_postgres-data/_data
  • ZeroTier controller data: /var/lib/docker/volumes/ztnet_zerotier/_data

ZeroTier Usage

Enter the container:

docker exec -it zerotier sh

Useful commands inside container:

zerotier-cli status        # show node status
zerotier-cli listnetworks  # list joined networks
zerotier-cli listpeers     # list connected peers
ip a                       # check network interfaces

Join a network:

docker exec -it zerotier zerotier-cli join <network-id>

Service Management

List containers:

docker ps

Restart containers:

# ZTNET stack
cd /root/ztnet
docker compose restart

# Single container
docker restart zerotier
docker restart ztnet
docker restart postgres

Follow container logs:

# All containers
docker compose logs -f

# Single container
docker logs -f ztnet
docker logs -f zerotier
docker logs -f postgres

Deploy the stack:

cd /root/ztnet
docker compose up -d --wait

SSL / HTTPS Setup (Optional)

  1. Uncomment the HTTPS proxy section in docker-compose.yml.
  2. Replace <YOUR-PUBLIC-HOST-NAME> with your domain.
  3. Create the Caddy volume (if not already).
  4. Set NEXTAUTH_URL to your domain in docker-compose.yml.
  5. Recreate the stack: docker compose up -d

Application Details