From 4fb03d20981e6dd4c7d2f0a9539a8f0efc7a335d Mon Sep 17 00:00:00 2001 From: Alistair Young Date: Fri, 15 May 2026 14:08:51 -0500 Subject: [PATCH] feat: documentation for IPv6/more flexible interface binding support Clarified the description of the `HOST` variable and added one for the new `HOSTS` variable for binding to multiple network interfaces. Signed-off-by: Alistair Young --- src/content/docs/environment-variables.mdx | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/content/docs/environment-variables.mdx b/src/content/docs/environment-variables.mdx index 209ab33..71c0d6c 100644 --- a/src/content/docs/environment-variables.mdx +++ b/src/content/docs/environment-variables.mdx @@ -65,11 +65,18 @@ For OIDC configuration variables, please see [OIDC / SSO Integration](/docs/oidc | Variable | Default | Description | |----------|---------|-------------| -| `HOST` | `0.0.0.0` | Network interface the server binds to. The default binds to all interfaces, which is required inside Docker. | +| `HOST` | `0.0.0.0` | Network interface the server binds to. The default binds to all IPv4 interfaces, which is required inside Docker. | +| `HOSTS` | `""` | A list of network interfaces the server binds to, either comma-separated or in JSON array format. If it is not set, the `HOST` value is used instead. | | `PORT` | `3313` | Port the server listens on inside the container. If you change this, update the `ports` mapping and health check URL in your Compose file to match. | | `APP_URL` | `""` | Used for constructing URLs in OIDC API response, and also used for setting the displayed URL in the API docs. | | `CONVERSION_WORKER_CONCURRENCY` | `5` | Number of concurrent conversion workers. Each one runs on its own thread. | +> **What is the distinction between `HOSTS` and `HOST`?** +> +> Simple configuration that require the server to bind to only one interface can be done using `HOST`. However, more complex configurations may require binding to more than one interface, which `HOSTS` enables; one example of this is if you wish to make the server available over both IPv6 and IPv4, which requires binding to an address of each family. For example, binding to all IPv6 interfaces and all IPv4 interfaces requires binding to both `::` and `0.0.0.0`, which can be done by setting `HOSTS` to `::,0.0.0.0` or `["::", "0.0.0.0"]`. +> +> If both `HOST` and `HOSTS` are used at the same time, the value set in `HOSTS` will be used, and a warning to this effect will be logged. + ### Storage | Variable | Default | Description |