version: "3" services: zerotier: image: zyclonite/zerotier:1.10.1 container_name: zu-controller restart: unless-stopped volumes: - controller_data:/var/lib/zerotier-one environment: - ZT_OVERRIDE_LOCAL_CONF=true - ZT_ALLOW_MANAGEMENT_FROM=0.0.0.0/0 expose: - "9993/tcp" ports: - "9993:9993/udp" zero-ui: image: dec0dos/zero-ui:latest container_name: zu-main build: context: . dockerfile: ./docker/zero-ui/Dockerfile restart: unless-stopped depends_on: - zerotier volumes: - controller_data:/var/lib/zerotier-one - zero-ui_data:/app/backend/data environment: - ZU_CONTROLLER_ENDPOINT=http://zerotier:9993/ - ZU_SECURE_HEADERS=true - ZU_DEFAULT_USERNAME=admin - ZU_DEFAULT_PASSWORD=zero-ui expose: - "4000" https-proxy: image: caddy:latest container_name: zu-https-proxy restart: unless-stopped depends_on: - zero-ui command: caddy reverse-proxy --from YOURDOMAIN.com --to zero-ui:4000 volumes: - caddy_data:/data ports: - "80:80" - "443:443" volumes: zero-ui_data: controller_data: caddy_data: