Browse documentation
Installation
Run a Docker container or build one native Go binary.
Run with Docker
Publish the ingress ports, mount the Docker socket and retain the data volume. Attach the router to the same Docker network as your application containers.
docker run -d --name dockrouter \
--restart unless-stopped \
-p 80:80 -p 443:443 \
-v /var/run/docker.sock:/var/run/docker.sock:ro \
-v dockrouter-data:/data \
-e DR_ACME_EMAIL=you@example.com \
dockrouter/dockrouter:latestThis example keeps the admin listener private. If you publish port 9090, deliberately configure DR_ADMIN_BIND and admin credentials first.
Build from source
The upstream project documents Go 1.22 or later. The router uses the Go standard library without third-party Go packages.
git clone https://github.com/DockRouter/dockrouter.git
cd dockrouter
go build -o dockrouter ./cmd/dockrouter
./dockrouter --acme-email=you@example.comPrebuilt releases
Release v1.2.0 provides Linux and macOS tar.gz archives and Windows zip archives for amd64 and arm64. Match the file to your host and verify it against checksums.txt from the same release. Docker deployments require a reachable Docker daemon, including when using a native binary.
Keep certificate state
The default data directory is /data. Mount it on persistent storage so account and certificate data remain available across container replacements. Use DR_DATA_DIR to choose another location.