Skip to content

Commit 85b13e7

Browse files
author
Ignacio Van Droogenbroeck
committed
docs(configuration): document server.host bind-address setting (v26.06.1+)
Adds the new server.host config option in three places: the TOML example, the env var block (ARC_SERVER_HOST), and a dedicated "Bind Address" subsection with a value-effect table, reverse-proxy tip, and a caution that 0.0.0.0 binds IPv4 only. The default (empty string) preserves the pre-26.06.1 wildcard behavior with Linux dual-stack semantics — operators upgrading without setting server.host get the exact same socket behavior as today.
1 parent 84dd9af commit 85b13e7

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

docs/configuration/overview.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ The main configuration file with production-ready defaults:
1818
```toml
1919
# Server Configuration
2020
[server]
21+
# host = "" # bind address (default: all interfaces, dual-stack)
2122
port = 8000
2223

2324
# Logging
@@ -78,6 +79,7 @@ Override any setting via environment variables with the `ARC_` prefix:
7879

7980
```bash
8081
# Server
82+
ARC_SERVER_HOST= # bind address (empty = all interfaces, v26.06.1+)
8183
ARC_SERVER_PORT=8000
8284
ARC_SERVER_TLS_ENABLED=false
8385
ARC_SERVER_TLS_CERT_FILE=/path/to/cert.pem
@@ -240,9 +242,43 @@ Basic HTTP server settings:
240242

241243
```toml
242244
[server]
245+
host = "" # bind address (default: empty = all interfaces, dual-stack IPv4 + IPv6)
243246
port = 8000 # HTTP/HTTPS port to listen on
244247
```
245248

249+
#### Bind Address (`server.host`)
250+
251+
:::note Available in v26.06.1
252+
The `server.host` setting is available starting from Arc v26.06.1.
253+
:::
254+
255+
Controls which network interface Arc binds to. The default (empty string) preserves the historical behavior of binding to all interfaces with Linux dual-stack semantics (IPv4 + IPv6-mapped addresses).
256+
257+
Common values:
258+
259+
| Value | Effect |
260+
|---|---|
261+
| `""` (empty) | All interfaces, dual-stack (default — same as pre-26.06.1) |
262+
| `"0.0.0.0"` | All interfaces, **IPv4 only** |
263+
| `"::"` | All interfaces, IPv6 (with IPv4-mapped on Linux) |
264+
| `"127.0.0.1"` | Loopback only (IPv4) — useful behind a reverse proxy |
265+
| `"::1"` | Loopback only (IPv6) |
266+
| `"192.0.2.10"` | Specific interface address |
267+
268+
Environment variable:
269+
270+
```bash
271+
ARC_SERVER_HOST=127.0.0.1
272+
```
273+
274+
:::tip Behind a reverse proxy
275+
If Arc sits behind nginx / Traefik / a Kubernetes Ingress on the same host, set `host = "127.0.0.1"` so Arc is not directly reachable from the network.
276+
:::
277+
278+
:::caution Choosing `0.0.0.0` disables IPv6
279+
Setting `host = "0.0.0.0"` binds IPv4 only — IPv6 clients will be unable to connect. Leave the value empty (default) to keep dual-stack behavior.
280+
:::
281+
246282
### TLS/SSL (HTTPS)
247283

248284
Arc supports native HTTPS/TLS without requiring a reverse proxy:

0 commit comments

Comments
 (0)