Meet DockRouterYour containers. A hostname. A clear path to HTTPS.InstallationRun a Docker container or build one native Go binary.Labels & discoveryKeep routing close to the application it belongs to.Automatic TLSA secure first connection, with a little less certificate administration.Load balancingChoose the right path through your replicas.Security at the edgeExplicit access decisions. Private administration. Trusted proxy boundaries.Dashboard & metricsFollow routes, certificates and requests from the same router.Inside the routerOne process, from incoming connection to container backend.Configuration referenceGlobal environment variables and service-level middleware labels.
Documentation, without the detour.ESC to close
Browse documentation
DOCUMENTATION / ROUTING

Labels & discovery

Keep routing close to the application it belongs to.

Two labels to discover a route

Set dr.enable to true and provide dr.host. By default, DockRouter detects the backend port. Set dr.port explicitly when the container exposes multiple ports or you want a different target.

terminal
labels:
  dr.enable: "true"
  dr.host: "api.example.com"
  dr.port: "8080"
  dr.tls: "auto"

Route by hostname and path

Use dr.path for a path prefix and dr.priority to resolve route precedence. Higher priorities win. The prefix can be stripped or added through middleware labels.

terminal
labels:
  dr.enable: "true"
  dr.host: "example.com"
  dr.path: "/api"
  dr.priority: "10"
  dr.stripprefix: "/api"

Routes follow container lifecycle

Docker discovery updates the router when containers start or stop. Enabled replicas are collected in backend pools. Your router and target containers need network connectivity; labels do not create Docker networks.

Routing label reference

Optional routing labels let you override the defaults on each service.

LabelPurposeDefault
dr.enableDiscover this containerRequired
dr.hostIncoming hostnameRequired
dr.portBackend portAuto-detected
dr.pathPath prefix/
dr.priorityRoute precedence0
dr.addressExplicit backend addressAuto
dr.loadbalancerBackend selection policyroundrobin
dr.weightWeighted backend preference1