Programming
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities !webdev@programming.dev
I assume with "non-desktop" you mean "container" and not, say, server or embedded? In that case Wolfi is a candidate.
What runtime do you need? If it’s Node.js, the “slim” Docker images are lightweight and based on Debian. (for example node:lts-slim
)
250mb is a curios interpretation of "lightweight"
Standard node
images are around 1 GB. node:lts-alpine
is about 176 MB. So it’s fairly close to alpine
in this case.
Sure, but it you consider that 166MB of that is for the node part alone, the "slim" image ships 80MB of stuff to basically do nothing
It would be interesting to see what the difference is. The slim
image doesn’t even have vi
installed, although it does have bash
. And of course, git
, etc. are not present. Much of the difference could be the size difference between musl and libc, and the size difference between apk
and apt
metadata.
I don’t think OP is going to find a non-musl distro as small as Alpine. These stripped-down Debians are a lot bigger, but among the smallest non-Alpine that you’ll find.
The Wolfi based chainguard images for node are glibc based and come in at 111mb, so its definitely possible.
May be worth looking at distroless containers.
You can completely customize Gentoo Linux to be what you want it to be and slim it down to what you need.
My experience with gentoo docker images is that they're pretty big. I'm not sure why. Maybe the build system or the python deps make it big. I tried squashing the image layers and it was still big, so it isn't that.