bbernhard / signal-cli-rest-api

Dockerized Signal Messenger REST API
https://bbernhard.github.io/signal-cli-rest-api/
MIT License
1.37k stars 159 forks source link

Use JRE for runtime container #449

Closed marvinruder closed 1 year ago

marvinruder commented 1 year ago

Is there any reason why you use the JDK container instead of the JRE? This was done before (see #59, #60), but reverted in https://github.com/bbernhard/signal-cli-rest-api/commit/5ccf7a9eff2cd577fa2d0d837b57800c6ca5a485 while switching to Java 17.

I would switch to 21-jre-jammy or even 21-jre-alpine if possible (Alpine images are not available for arm/v7 architecture, only v8), reducing the image size by approx. 100 MB.

bbernhard commented 1 year ago

I think switching back to JRE could work - to be honest I can't really remember if the change was intentional or not.

Regarding alpine: I remember that I've tried an alpine image a few years ago and the problem back then was musl. For some reason that didn't work well with signal-cli, so I had to use a base image which uses glibc. But if it works fine with an alpine image, I am also totally okay with that. My only requirement is, that we need to keep the armv7 support alive. I know that some people are using the docker container on an older Raspberry Pi and dropping support for that would be pretty bad for them.

marvinruder commented 1 year ago

Understandable – let’s keep the Ubuntu base images then. I will also stick with JDK17 as openjdk-21-jre is not available in the Debian Bullseye build container.