@@ -263,6 +263,60 @@ The logs can be viewed with:
263263 journalctl -u nostream
264264 ```
265265
266+ ## Troubleshooting
267+
268+ ### Linux: Docker DNS resolution failures (`EAI_AGAIN`)
269+
270+ On some Linux environments (especially rolling-release distros or setups using
271+ `systemd-resolved`), `docker compose` builds can fail with DNS errors such as:
272+
273+ - `getaddrinfo EAI_AGAIN registry.npmjs.org`
274+ - `Temporary failure in name resolution`
275+
276+ To fix this, configure Docker daemon DNS in `/etc/docker/daemon.json`.
277+
278+ 1. Create or update `/etc/docker/daemon.json`:
279+
280+ ```
281+ sudo mkdir -p /etc/docker
282+ sudo nano /etc/docker/daemon.json
283+ ```
284+
285+ Add or update the file with:
286+
287+ ```
288+ {
289+ "dns": [ "1.1.1.1", "8.8.8.8"]
290+ }
291+ ```
292+
293+ If this file already exists, merge the `dns` key into the existing JSON
294+ instead of replacing the entire file.
295+
296+ If your environment does not allow public resolvers, replace `1.1.1.1` and
297+ `8.8.8.8` with DNS servers approved by your network.
298+
299+ 2. Restart Docker:
300+
301+ ```
302+ sudo systemctl restart docker
303+ ```
304+
305+ 3. Verify DNS works inside containers:
306+
307+ ```
308+ docker run --rm busybox nslookup registry.npmjs.org
309+ ```
310+
311+ 4. Retry starting nostream:
312+
313+ ```
314+ ./scripts/start
315+ ```
316+
317+ Note: avoid `127.0.0.53` in Docker DNS settings because it points to the host's
318+ local resolver stub and is often unreachable from containers.
319+
266320## Quick Start (Standalone)
267321
268322Set the following environment variables:
0 commit comments