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 / REFERENCE

Configuration reference

Global environment variables and service-level middleware labels.

Global environment

Global settings use the DR_ prefix. Their command-line equivalents are also available; use dockrouter --help for the options in your installed release.

VariableDefaultPurpose
DR_HTTP_PORT80HTTP listener
DR_HTTPS_PORT443HTTPS listener
DR_ADMIN_PORT9090Admin listener port
DR_ADMIN_BIND127.0.0.1Admin bind address
DR_ADMINtrueEnable admin interface
DR_DOCKER_SOCKET/var/run/docker.sockDocker API socket
DR_DATA_DIR/dataPersistent state directory
DR_ACME_EMAIL—ACME account email
DR_ACME_STAGINGfalseACME staging environment
DR_DEFAULT_TLSautoDefault route TLS mode
DR_LOG_LEVELinfoLogging verbosity
DR_TRUSTED_IPS—Trusted proxy CIDRs

Middleware labels

Add middleware settings to the application container, alongside its routing labels.

LabelExample
dr.ratelimit100/m
dr.cors.originshttps://app.example.com
dr.compresstrue
dr.maxbody10mb
dr.stripprefix/api
dr.addprefix/v1
dr.retry2
dr.circuitbreaker5/30s
dr.auth.basic.usersuser:bcrypt_hash

Useful CLI commands

Version, help and a container health check are available directly from the binary.

terminal
dockrouter version
dockrouter --help
dockrouter healthcheck