diff --git a/Server/Dockerfile b/Server/Dockerfile index cc55919..709b557 100644 --- a/Server/Dockerfile +++ b/Server/Dockerfile @@ -1,18 +1,28 @@ -FROM mcr.microsoft.com/dotnet/runtime:8.0 AS base +FROM mcr.microsoft.com/dotnet/runtime:8.0-bookworm-slim AS base WORKDIR /app -FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build +FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-bookworm-slim AS build +ARG TARGETARCH +ENV TZ=Etc/UTC +ENV DOTNET_TieredPGO=1 +ENV DOTNET_CLI_TELEMETRY_OPTOUT=1 + +RUN echo "Target: $TARGETARCH" +RUN echo "Build: $BUILDPLATFORM" WORKDIR /src +COPY ["Wonderking/Wonderking.csproj", "Wonderking/"] COPY ["Server/Server.csproj", "Server/"] -RUN dotnet restore "Server/Server.csproj" +RUN dotnet restore "Wonderking/Wonderking.csproj" -a $TARGETARCH +RUN dotnet restore "Server/Server.csproj" -a $TARGETARCH COPY . . -WORKDIR "/src/Server" -RUN dotnet build "Server.csproj" -c Release -o /app/build FROM build AS publish -RUN dotnet publish "Server.csproj" -c Release -o /app/publish /p:UseAppHost=false +RUN dotnet publish "Server/Server.csproj" -c Release -a $TARGETARCH --no-restore -f net8.0 -o /app FROM base AS final WORKDIR /app -COPY --from=publish /app/publish . -ENTRYPOINT ["dotnet", "Server.dll"] +COPY --from=publish /app . +USER $APP_UID +ENTRYPOINT ["./Server"] + + diff --git a/Server/Server.csproj b/Server/Server.csproj index 50ba8a3..1124056 100644 --- a/Server/Server.csproj +++ b/Server/Server.csproj @@ -2,13 +2,13 @@ Exe - net7.0 enable warnings Linux Server default true + net8.0;net7.0