Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker image: Alpine or Debian #358

Open
rprieto opened this issue Jan 4, 2024 · 4 comments
Open

Docker image: Alpine or Debian #358

rprieto opened this issue Jan 4, 2024 · 4 comments
Labels
needs-design Requires a tech design decision

Comments

@rprieto
Copy link
Member

rprieto commented Jan 4, 2024

This issue is about whether to switch the official Docker image from Alpine to Debian. What would be the benefits and challenges?
I will leave this issue open for a while, please share any feedback or preference as comments.

@rprieto rprieto added the bug Existing bug label Jan 4, 2024
@rprieto
Copy link
Member Author

rprieto commented Jan 4, 2024

Some aspects to be investigated:

  • APT packages ImageMagick version 6 but Thumbsup requires version 7 for the magick command. It would need to be built manually.
  • APT packages FFmpeg version 5. It should work but seems like a step backwards from the current image that includes version 6.
  • We'd need to figure out the Debian libraries to install, e.g. libpng-dev, libjpeg62-turbo, webp, x265, libheif1
  • Docker image size: what to expect? We would likely use Debian-slim and multi-stage builds for manual builds.

@gebailey
Copy link

gebailey commented Jan 4, 2024

I'd lean toward the Debian implementation because it would document (via the Dockerfile) what libraries would be needed by someone doing a standalone implementation, and might make troubleshooting/debugging a bit easier because your users would probably be a bit more homogenous and maybe you wouldn't spend as much time doing any glibc vs musl debugging, etc.

@rprieto rprieto added needs-design Requires a tech design decision and removed bug Existing bug labels Jan 4, 2024
@usmanatron
Copy link

@mgwerder
Copy link

I am not sure if switching is a good thing. Please do not misinterpret this as flaming in any direction. Personally, I use Debian quite often as a bare-metal distribution. However, when it comes to a small memory/disk footprint, Alpine definitely rocks the place.

So unless there is a reason to make things much simpler (and from what I hear here there is not; instead it seems to make things more complicated) I would vote against switching.

For a docker image, memory footprint first, then disk footprint should be the main drivers. Maintenance should be an issue, but I do not think the downsides (more packages to compile on debian or the runtime memory footprint) are really considered enough in this thread. If it would be easy to maintain such common packages (at least on other Linux distributions), I see no reason why they should not be included in the core Debian distribution. So my guess(!) would be: Maintenance has been terrible in the past.

Changing the distribution would make it easier for some users to tinker around. But if they are going to do such things, they might not want to go with docker, but with a bare-metal or VM installation.

I cannot comment on the "any glibc vs musl debugging"-issue. That is something for those who have actually done it in the past to consider.

Just my 2 cts.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
needs-design Requires a tech design decision
Projects
None yet
Development

No branches or pull requests

4 participants