-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Problem / Probleme
make run fails during docker compose up -d --build when building platform-factory.
The Dockerfile hardcodes Docker APT repo architecture to amd64:
echo "deb [arch=amd64 ...] https://download.docker.com/linux/debian bookworm stable" ...
On Apple Silicon (arm64), APT tries to install docker-ce-cli:amd64, which fails with unmet dependency:
docker-ce-cli:amd64 : Depends: libc6:amd64 (>= 2.34) but it is not installable
This prevents the stack from starting and blocks local development on ARM machines.
make run echoue pendant docker compose up -d --build car le Dockerfile force amd64, ce qui casse l'installation sur arm64.
Proposed Solution / Solution proposee
Make Docker CLI installation architecture-aware (and distro-aware), or avoid installing Docker CE inside the app image if not required.
Suggested fix in Dockerfile:
Detect architecture dynamically with dpkg --print-architecture.
Detect Debian codename from /etc/os-release.
Use those values in Docker repo entry instead of hardcoded amd64/bookworm.
If Docker CLI is optional, gate it behind a build arg (or remove it from this image).
Example approach:
arch=$(dpkg --print-architecture)
codename=$(. /etc/os-release && echo "$VERSION_CODENAME")
use arch=${arch} and ${codename} in /etc/apt/sources.list.d/docker.list
Rendre l'installation portable (arm64/amd64) en supprimant les valeurs codées en dur.
Alternatives Considered / Alternatives envisagees
Install docker.io from Debian repos instead of Docker CE repo.
Build separate images per architecture with explicit --platform.
Remove Docker CLI from the container and rely on host Docker tooling.
Use Case / Cas d'usage
Developers using Apple Silicon Macs (M1/M2/M3) need make run to work without patching Dockerfiles.
CI/CD runners may vary by architecture; build should be deterministic and portable.
Additional Context / Contexte supplementaire
Reproduction
On Apple Silicon, run:
make run
Build fails in platform-factory at Dockerfile line with Docker repo setup/install.
Failing output (key lines)
docker-ce-cli:amd64 : Depends: libc6:amd64 (>= 2.34) but it is not installable
target platform-factory: failed to solve ... exit code: 100
Acceptance Criteria
make run succeeds on both arm64 and amd64.
No hardcoded arch=amd64 in Docker repo line.
Docker CLI install step is either architecture-aware or optional.Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working