# DockRoute

> External-DNS for plain Docker hosts. DockRoute watches your containers, reads dockroute.* labels and keeps your DNS records — and Cloudflare Tunnel routes — in sync.

Notes for agents and LLMs:

- Every docs page listed below has a plain-markdown version: append `.md` to its URL (e.g. https://www.dockroute.dev/docs/quickstart.md) or request the page with `Accept: text/markdown`.
- The complete documentation as a single markdown file: https://www.dockroute.dev/llms-full.txt
- Machine-readable sitemap: https://www.dockroute.dev/sitemap.xml
- Full-text search over the docs: https://www.dockroute.dev/api/search?query=your+terms
- Source code and issue tracker: https://github.com/Dockroute/Dockroute

## Docs

- [Introduction](https://www.dockroute.dev/docs): External-DNS for plain Docker hosts — what DockRoute is and when to use it.
- [Quickstart](https://www.dockroute.dev/docs/quickstart): Run DockRoute next to your services and watch it reconcile — dry run first, real records after.
- Configuration
  - [Labels](https://www.dockroute.dev/docs/configuration/labels): The dockroute.* container labels — the whole contract between your services and your DNS.
  - [Environment variables](https://www.dockroute.dev/docs/configuration/environment): Every environment variable DockRoute reads, with defaults.
  - [Sync policies](https://www.dockroute.dev/docs/configuration/policies): Control how far DockRoute may go — create, update or delete — with DOCKROUTE_POLICY.
- Guides
  - [Cloudflare DNS](https://www.dockroute.dev/docs/guides/cloudflare-dns): Manage plain A, AAAA and CNAME records in a Cloudflare zone.
  - [Cloudflare Tunnel](https://www.dockroute.dev/docs/guides/cloudflare-tunnel): Publish homelab services through an existing tunnel — no open ports, one label per service.
  - [Multiple instances](https://www.dockroute.dev/docs/guides/multiple-instances): Run DockRoute on several hosts against one zone, safely, with distinct owner ids.
  - [Migrating an existing record](https://www.dockroute.dev/docs/guides/migrating-to-dockroute): Hand a hostname already managed by hand, by DockFlare, or by another tool over to DockRoute.
- Concepts
  - [Safety model](https://www.dockroute.dev/docs/concepts/safety-model): TXT-based ownership — how DockRoute proves what it manages and refuses to touch anything else.
  - [Architecture](https://www.dockroute.dev/docs/concepts/architecture): Watcher, label parser, reconciler, provider — how a container event becomes a DNS record.
- [Contributing](https://www.dockroute.dev/docs/contributing): Ground rules, development workflow, and how to add a DNS provider.
- [Community & support](https://www.dockroute.dev/docs/community): Where to report a bug, ask a question, send a patch, and follow releases.