diff --git a/docker/Dockerfile.api b/docker/Dockerfile.api index 9c946e3..63861df 100644 --- a/docker/Dockerfile.api +++ b/docker/Dockerfile.api @@ -1,8 +1,16 @@ -FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build +# syntax=docker/dockerfile:1 +# Build on the runner arch (amd64); publish for TARGETARCH (arm64 on Pi). +# Avoids QEMU-emulated dotnet restore, which aborts under plugins/docker --platform. +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:10.0 AS build +ARG TARGETARCH WORKDIR /src COPY src/backend/ . -RUN dotnet restore iLED.slnx -RUN dotnet publish src/iLED.Api/iLED.Api.csproj -c Release -o /app/publish +RUN dotnet restore iLED.slnx -a $TARGETARCH +RUN dotnet publish src/iLED.Api/iLED.Api.csproj \ + -c Release \ + -o /app/publish \ + -a $TARGETARCH \ + --no-restore FROM mcr.microsoft.com/dotnet/aspnet:10.0 WORKDIR /app