Labelgate

Automate Cloudflare DNS, Tunnels, and Access Policies through Docker Labels

Simple as a Label

Add labels to your Docker containers and Labelgate handles the rest.

docker-compose.yaml
services:
  labelgate:
    image: labelgate:latest
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - LABELGATE_CLOUDFLARE_API_TOKEN=${CF_API_TOKEN}
      - LABELGATE_CLOUDFLARE_ACCOUNT_ID=${CF_ACCOUNT_ID}
      - LABELGATE_CLOUDFLARE_TUNNEL_ID=${CF_TUNNEL_ID}

  webapp:
    image: nginx
    labels:
      labelgate.tunnel.web.hostname: "app.example.com"
      labelgate.tunnel.web.service: "http://webapp:80"

Automated DNS Records

Create and manage Cloudflare DNS records automatically. Support for A, AAAA, CNAME, TXT, MX, SRV, and CAA record types.

Tunnel Ingress Rules

Automatically configure Cloudflare Tunnel ingress rules. Expose your services securely without opening ports.

Zero Trust Access

Manage Cloudflare Access policies through labels. Control who can access your applications with ease.

Multi-Host Agent Mode

Monitor Docker containers across multiple hosts via WebSocket-based agent architecture.

Flexible Configuration

Configure via environment variables, YAML files, or both. Support for multiple Cloudflare API tokens.

State Persistence

Track all managed resources in SQLite. Detect conflicts, prevent duplicates, and recover gracefully.

© 2026 Labelgate. Released under the MIT License.