-
Notifications
You must be signed in to change notification settings - Fork 11
Description
When running Explo in Docker on an IPv4-only host (IPv6 disabled), Explo fails to fetch ListenBrainz playlists and logs errors such as:
-
failed to get weekly-exploration playlist, check if ListenBrainz has generated one this week
-
failed to make request to ListenBrainz API: EOF
This occurs even though the playlists clearly exist and can be retrieved manually.
Environment
-
Host OS: Unraid (Docker)
-
Explo image: ghcr.io/lumepart/explo:latest
-
Discovery service: ListenBrainz
-
Music system: Navidrome (Subsonic API)
-
IPv6: disabled on host and inside container
/proc/sys/net/ipv6/conf/all/disable_ipv6 = 1 -
Timezone: correctly matched between ListenBrainz and container
Symptoms
- ./explo --playlist=weekly-exploration fails consistently
- Same failure for weekly-jams and daily-jams
- Logs misleadingly suggest the playlist does not exist
- No authentication or configuration errors are reported
Debugging Findings
Inside the container:
Direct API access works:
curl https://api.listenbrainz.org/1/user//playlists/createdfor
returns valid playlist JSON.
Curl output shows:
- IPv6 connection attempts fail (Network unreachable)
- IPv4 succeeds
- Server negotiates HTTP/2
However, Explo’s internal request fails with an EOF error, suggesting an HTTP/2 client issue when IPv6 is unavailable
Workaround
Force Go to disable HTTP/2 by setting:
environment:
GODEBUG: http2client=0
After applying this:
- Explo immediately succeeds
- Playlists are fetched correctly
- Downloads begin as expected
- No other configuration changes required
Example successful log:
INFO Starting Explo...
INFO initiating search track="Artist - Song"