Skip to content

Commit 5f1ad76

Browse files
docs: add Linux DNS troubleshooting (#397)
1 parent 6a8ccb4 commit 5f1ad76

File tree

1 file changed

+54
-0
lines changed

1 file changed

+54
-0
lines changed

README.md

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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
268322
Set the following environment variables:

0 commit comments

Comments
 (0)