Closed FoxxMD closed 3 months ago
@Ardakilic If you'd like to test it out I now have a debian-based docker image available foxxmd/multi-scrobbler:develop-debian
. It includes the fixes from 134.
@FoxxMD I'll be checking in about 10 mins both with ipv6 disabled and enabled. I'll let you know.
By simply altering the tag and modifying my ipv6 settings on host machine, here's my rough test:
:develop-debian
tag, it's working as intended. In about 15 mins, I only got 1 timeout in between, unlike like every 10 seconds. So it's definitely a fluke.:develop-debian
tag, it's working nicely. It about 15 minutes, no timeouts at all.So I can say for my case, it's fixed for both the cases with the :develop-debian
tag.
@FoxxMD are you going to provide both flavors generated on pipeline, or are you going to stick and move on to Debian based image?
For now I'll be building both flavors with github actions. The non-suffixed tags will stay as alpine.
For the debian image I'm encountering a showstopping bug during npm install
but only for the arm64 arch. This same error does not occur for the alpine arm64 build. Because of this error the build fails so there will be *no arm64 arch versions of `-debian` tags for now.**
#17 139.5 npm verb audit error FetchError: request to https://registry.npmjs.org/-/npm/v1/security/audits/quick failed, reason: Client network socket disconnected before secure TLS connection was established
#17 139.5 npm verb audit error at ClientRequest.<anonymous> (/usr/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
#17 139.5 npm verb audit error at ClientRequest.emit (node:events:517:28)
#17 139.5 npm verb audit error at _destroy (node:_http_client:882:13)
#17 139.5 npm verb audit error at onSocketNT (node:_http_client:902:5)
#17 139.5 npm verb audit error at process.processTicksAndRejections (node:internal/process/task_queues:83:21)
#17 139.5 npm verb audit error FetchError: request to https://registry.npmjs.org/-/npm/v1/security/audits/quick failed, reason: Client network socket disconnected before secure TLS connection was established
#17 139.5 npm verb audit error at ClientRequest.<anonymous> (/usr/lib/node_modules/npm/node_modules/minipass-fetch/lib/index.js:130:14)
#17 139.5 npm verb audit error at ClientRequest.emit (node:events:517:28)
#17 139.5 npm verb audit error at _destroy (node:_http_client:882:13)
#17 139.5 npm verb audit error at onSocketNT (node:_http_client:902:5)
#17 139.5 npm verb audit error at process.processTicksAndRejections (node:internal/process/task_queues:83:21) {
#17 139.5 npm verb audit error code: 'ECONNRESET',
#17 139.5 npm verb audit error path: null,
#17 139.5 npm verb audit error host: 'registry.npmjs.org',
#17 139.5 npm verb audit error port: 443,
#17 139.5 npm verb audit error localAddress: null,
#17 139.5 npm verb audit error errno: 'ECONNRESET',
#17 139.5 npm verb audit error type: 'system'
#17 139.5 npm verb audit error }
The bug is reproducible when using Github Actions from the repo, running Github Actions locally with act, and directly by trying to build the arm64 arch with buildx.
Reproducing with buildx:
git clone --branch develop https://github.com/FoxxMD/multi-scrobbler .
cd multi-scrobbler
docker buildx build -t msdebianarm --progress=plain -f debian.Dockerfile --platform=linux/arm64 --load .
All my attempted fixes are documented in debain.Dockerfile
. I've tried:
ca-certificates
and openssh-client
apt packages--no-audit
The only thing I haven't tried so far is replacing the nodesource.com node/npm install method with the install method from the official docker-node dockerfile
@FoxxMD 🤔
To test on arm64, could you please modify the installation line step in pipeline/dockerfile like this?
npm ci --maxsockets 1 --verbose
Decreasing the --maxsockets may help you there. 1 is rather too low (default is 15), but I'm sure it'll help you debug the issue better.
Thanks for the suggestion but I'm getting the same result and the debug output is the same well.
Toally weird! Usually this issue is being resolved by simply reducing the maxsockets value, however I did it and got the exact same result on exact same packages on debian/arm64 on my fork.
Same result when using same method as official docker-node to install node/npm (direct binary from nodejs.com)
@Ardakilic It seems upgrading the node version used in the debian docker image to the latest LTS (18 -> 20) fixed the timeout/connection issue :shrug: I've pushed an arm64 version of the debian tag. Will use this for awhile on develop
to make sure its not a fluke before cutting a release for it.
@FoxxMD Awesome news! I was almost positive it was a caching issue from GitHub's end.. Let me know if/when you need me to check the develop when it's ready!
Closed with 0.7.0:
Awesome news! I'll try on my Debian flavour on my Debian host machine, using docker this evening!
@FoxxMD Tried on :latest-debian
tag. So far so good! 🚀 Tried scrobbling from last.fm (through Spotify) to Maloja, worked nicely. Currently hosting it on my private Linux Debian VPS, through docker-compose.
I'll check logs if something weird occurs. Let me know if you need any further tests.
Hey @Ardakilic how has the debian build been working for you? Thinking of making debian the default build.
Hello @FoxxMD , Zero issues so far! Happy Debian flavour (:latest-debian
) user here 😊
Multiple issues in the past caused by DNS problems are directly related to using alpine with
musl
. The upcoming chromecast source also has issues with this due to musl's non-support for mDNS resolution.LSIO has other base images that are almost as small as alpine. It's worth investigating if debian/ubuntu bases will have similar size and ease of installation as the current alpine base. Switching to one of these would mean back to glibc and saying goodbye to network/dns headaches.