mercure icon indicating copy to clipboard operation
mercure copied to clipboard

Docker image since 0.15.10 is broken/not working on ARM architecture (aarch64 on RaspberryPi5)

Open michaljusiega opened this issue 6 months ago • 0 comments

Hi!

I'm facing weird issue about docker image dunglas/mercure. I don't know why but since v0.15.10 the container is not running successfully on my local server by using RPI5.

However if I lock dockerfile to v0.15.9 everything works well. Newest versions v0.16+ they also have this problem, so...

v0.15.10+ Example docker command: docker run -e SERVER_NAME=':8006' -e MERCURE_PUBLISHER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -e MERCURE_SUBSCRIBER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -p 8007:8006 dunglas/mercure:v0.15.10 caddy run --config /etc/caddy/Caddyfile.dev

results (actually nothing)

root@RASPBERRYPI:~# docker run -e SERVER_NAME=':8006' -e MERCURE_PUBLISHER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -e MERCURE_SUBSCRIBER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -p 8007:8006 dunglas/mercure:v0.15.10 caddy run --config /etc/caddy/Caddyfile.dev
root@RASPBERRYPI:~#

Docker inspect returns:

    ...
    "State": {
        "Dead": false,
        "Error": "",
        "ExitCode": 139,
        "FinishedAt": "2024-08-17T19:15:50.445705589Z",
        "OOMKilled": false,
        "Paused": false,
        "Pid": 0,
        "Restarting": false,
        "Running": false,
        "StartedAt": "2024-08-17T19:15:50.261946727Z",
        "Status": "exited"
    }
    ...

v0.15.9 Example docker command: docker run -e SERVER_NAME=':8006' -e MERCURE_PUBLISHER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -e MERCURE_SUBSCRIBER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -p 8007:8006 dunglas/mercure:v0.15.9 caddy run --config /etc/caddy/Caddyfile.dev

results (actually logs of running process)

root@RASPBERRYPI:~# docker run -e SERVER_NAME=':8006' -e MERCURE_PUBLISHER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -e MERCURE_SUBSCRIBER_JWT_KEY='!ChangeThisMercureHubJWTSecretKey!' -p 8007:8006 dunglas/mercure:v0.15.9 caddy run --config /etc/caddy/Caddyfile.dev
{"level":"info","ts":1723922362.7282348,"msg":"using provided configuration","config_file":"/etc/caddy/Caddyfile.dev","config_adapter":""}
{"level":"warn","ts":1723922362.7296758,"msg":"Caddyfile input is not formatted; run 'caddy fmt --overwrite' to fix inconsistencies","adapter":"caddyfile","file":"/etc/caddy/Caddyfile.dev","line":3}
{"level":"info","ts":1723922362.730724,"logger":"admin","msg":"admin endpoint started","address":"localhost:2019","enforce_origin":false,"origins":["//localhost:2019","//[::1]:2019","//127.0.0.1:2019"]}
{"level":"info","ts":1723922362.7310214,"logger":"tls.cache.maintenance","msg":"started background certificate maintenance","cache":"0x400021b980"}
{"level":"info","ts":1723922362.733043,"logger":"http.log","msg":"server running","name":"srv0","protocols":["h1","h2","h3"]}
{"level":"info","ts":1723922362.7333028,"msg":"autosaved config (load with --resume flag)","file":"/config/caddy/autosave.json"}
{"level":"info","ts":1723922362.7333138,"msg":"serving initial configuration"}
{"level":"info","ts":1723922362.7347362,"logger":"tls","msg":"cleaning storage unit","storage":"FileStorage:/data/caddy"}
{"level":"info","ts":1723922362.7349236,"logger":"tls","msg":"finished cleaning storage units"}

I tried to compare https://github.com/dunglas/mercure/compare/v0.15.9...v0.15.10 but it's hard to me to find something :( On AMD64 newest docker images works perfectly.

RPI5 specs: Linux fef91b1fd38c 6.6.45-v8-16k+ #1791 SMP PREEMPT Tue Aug 13 12:52:29 BST 2024 aarch64 GNU/Linux with 64bit

michaljusiega avatar Aug 17 '24 19:08 michaljusiega