Skip to content

Sources

dnsweaver discovers hostnames to manage from multiple sources. Each source type extracts hostnames differently, allowing dnsweaver to work with existing reverse proxy configurations.

Available Sources

  • Docker Labels


    Parse hostnames from Traefik, Caddy, and nginx-proxy labels on Docker containers.

    Docker Labels

  • Docker Swarm


    Discover services in Docker Swarm mode with support for service labels and tasks.

    Swarm Mode

  • Traefik Files


    Watch Traefik dynamic configuration files for hostname changes.

    Traefik Files

  • Native Labels


    Use dnsweaver-specific labels for explicit DNS record configuration.

    Native Labels

Source Priority

When multiple sources provide the same hostname, dnsweaver uses the following priority:

  1. Native labels (explicit dnsweaver configuration)
  2. Traefik/Caddy labels (reverse proxy configuration)
  3. Traefik files (dynamic configuration)

Hostname Extraction

Each source extracts hostnames differently:

Source Extracts From Example Label/Config
Docker (Traefik) traefik.http.routers.*.rule Host(`app.example.com`)
Docker (Caddy) caddy or caddy_* caddy=app.example.com
Docker Swarm Service labels Same as Docker
Traefik Files http.routers.*.rule in YAML/TOML Standard Traefik config
Native dnsweaver.hostname dnsweaver.hostname=app.example.com

Multiple hostnames

Containers can expose multiple hostnames. All discovered hostnames are processed independently and matched against configured provider domains.