Docker 29 defaults to the containerd image store, which keeps layers in
/var/lib/containerd on the dind container's own overlayfs. Nested
overlay mounts fail there with "invalid argument", so every e2e image
build failed. Disable the containerd snapshotter so dockerd uses
overlay2 in the /var/lib/docker volume.
yt-dlp solves YouTube JS challenges with yt-dlp-ejs and a JS runtime.
The image installs deno and yt-dlp-ejs on amd64 and arm64.
Alpine ships no deno for armv7, so that image installs nodejs and
enables it in /etc/yt-dlp.conf, because yt-dlp only runs deno unless
told otherwise.
- Go: modernc.org/sqlite 1.60.1, modernc.org/libc 1.77.1 and other
indirect modules; e2e moby api/client, gopsutil and compress.
- Webapp: vite 8.3.2, @tabler/icons-vue 3.48.0, dompurify 3.4.16,
eslint-plugin-vue 10.11.1 and TypeScript 6.0.3, the highest version
that typescript-eslint supports (<6.1.0).
- Images: Alpine 3.24 for the release and e2e images, docker:29-dind
for the e2e CI service.
- CI: goreleaser-action v7.2.3, setup-qemu-action v4,
setup-buildx-action v4 and golangci-lint v2.14.0.