diff --git a/src/LiveRecorder.WebApi/Dockerfile b/src/LiveRecorder.WebApi/Dockerfile index 4608037..d3e2c08 100644 --- a/src/LiveRecorder.WebApi/Dockerfile +++ b/src/LiveRecorder.WebApi/Dockerfile @@ -4,16 +4,15 @@ ARG DOTNET_RUNTIME_IMAGE=mcr.microsoft.com/dotnet/aspnet:8.0-bookworm-slim FROM ${DOTNET_SDK_IMAGE} AS build WORKDIR /src -COPY ["LiveRecorder.sln", "./"] -COPY ["src/LiveRecorder.Domain/LiveRecorder.Domain.csproj", "src/LiveRecorder.Domain/"] -COPY ["src/LiveRecorder.Application/LiveRecorder.Application.csproj", "src/LiveRecorder.Application/"] -COPY ["src/LiveRecorder.Infrastructure/LiveRecorder.Infrastructure.csproj", "src/LiveRecorder.Infrastructure/"] -COPY ["src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj", "src/LiveRecorder.WebApi/"] - -RUN dotnet restore "src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj" - COPY . . -RUN dotnet publish "src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj" -c Release -o /app/publish /p:UseAppHost=false + +# Workaround for QEMU ARM64 emulation +ENV DOTNET_EnableWriteXorExecute=0 +ENV DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1 +ENV DOTNET_GCConserveMemory=9 + +RUN dotnet restore "src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj" -p:RestoreUseStaticGraphEvaluation=true +RUN dotnet publish "src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj" -c Release -o /app/publish /p:UseAppHost=false /p:DebugType=None /p:DebugSymbols=false /maxcpucount:1 FROM ${DOTNET_RUNTIME_IMAGE} AS runtime diff --git a/src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj b/src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj index 252de69..e6c09cf 100644 --- a/src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj +++ b/src/LiveRecorder.WebApi/LiveRecorder.WebApi.csproj @@ -17,6 +17,8 @@ net8.0 enable enable + linux-arm64 + false