tobybatch / kimai2

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

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

Closed davidmehren closed 10 months ago

davidmehren commented 11 months 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 11 months 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 11 months 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 11 months 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 11 months 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.