Deployment¶
dnsweaver runs as a lightweight container in Docker or Kubernetes. This section provides production-ready configurations for all supported environments.
Deployment Options¶
-
Docker Compose
The simplest deployment for single-host environments. Recommended for getting started.
-
Docker Swarm
Production deployment for multi-node Docker clusters with high availability.
-
Kubernetes
Deploy with Helm or Kustomize. Watches Ingress, IngressRoute, HTTPRoute, and Service resources.
-
Split-Horizon DNS
Configure internal and external DNS records from the same container labels.
Quick Comparison¶
| Feature | Docker Compose | Docker Swarm | Kubernetes |
|---|---|---|---|
| Complexity | Simple | Moderate | Moderate |
| High availability | |||
| Secrets management | File-based | Native secrets | K8s Secrets |
| RBAC | Docker socket | Docker socket | ClusterRole |
| Best for | Development | Multi-node Docker | K8s clusters |
Common Requirements¶
Regardless of deployment method, dnsweaver needs:
- Platform access — Docker socket (Docker) or RBAC ServiceAccount (Kubernetes)
- Network connectivity — To reach DNS provider APIs
- Credentials — API tokens for your DNS providers
Docker socket security
The Docker socket provides root-level access to your host. For production deployments, consider using a socket proxy to limit dnsweaver's API access.
Next Steps¶
Choose the deployment guide that matches your environment, then configure your DNS providers.