tobybatch / kimai2

Docker containers for the kimai2 web application including docker-compose and kubernetes/helm deployment.
MIT License
181 stars 96 forks source link

[BUG] Image fails to build for ARMv7 & prevents new images from being published #525

Closed davidmehren closed 1 year ago

davidmehren commented 1 year ago

Describe the bug The current Dockerfile fails to build for ARMv7, apparently because new PHP dependencies are not compatible with that architecture.

A dependency to php-64bit was added with Kimai 2.0.27, since then building the image for ARMv7 fails with maennchen/zipstream-php 3.0.2 requires php-64bit ^8.1 -> the php-64bit package is disabled by your platform config., unfortunately meaning that the CI-job fails so no image updates are published at all.

ZipStream-PHP is only compatible with 64-Bit architectures, and ARMv7 is not one of them.

I guess options are

To Reproduce Steps to reproduce the behavior:

  1. Try to build the container image with docker build -t kimai2:test --platform linux/arm/v7 --build-arg KIMAI=2.0.29 .

Desktop (please complete the following information):

kevinpapst commented 1 year ago

The library is a dependency of phpoffice, not from Kimai directly.

I always said that I do not try to make Kimai compatible with outdated systems (hardware and software). Unless some company wants to sponsor these "adventures", it is much easier for me to stay up-to-date, even though that might put some burden on the operations side.

That having said: Is there a reason for having a 32-bit image in the first place?
What is ARM7 used for? Which machines need such an image?

davidmehren commented 1 year ago

ARMv7 is only relevant for older ARM single board computers, like the Raspberry Pi 1 and 2 which don't have a 64-bit capable SoC. Personally, I don't think many people still use these anymore.

The first Raspberry Pi with a ARMv8-SoC was the RPi 2 Model B v1.2 sold from October 2016. See https://en.wikipedia.org/wiki/Raspberry_Pi#Specifications

kevinpapst commented 1 year ago

Which is a strong argument for simply kicking that image.

This is not a library used in super-computing, where some research projects still use thousands of these boards.

I wasn't even aware of that 64-bit dependency and guess I would have never found out about it. I'll mention it with the other dependencies.

kevinpapst commented 1 year ago

Damn, I can't merge my fix. Toby seems to have changed my permissions 😢 I guess we have to wait for two more weeks.