FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:9.0-alpine AS builder

ARG TARGETARCH
ARG TARGETOS

WORKDIR /app
COPY Mindforge.API.csproj ./
RUN if [ "$TARGETARCH" = "amd64" ]; then DOTNET_ARCH="x64"; else DOTNET_ARCH="$TARGETARCH"; fi && \
    dotnet restore -a "$DOTNET_ARCH"
COPY . .
RUN if [ "$TARGETARCH" = "amd64" ]; then DOTNET_ARCH="x64"; else DOTNET_ARCH="$TARGETARCH"; fi && \
    dotnet publish -c Release -a "$DOTNET_ARCH" --no-restore -o /app/publish

FROM mcr.microsoft.com/dotnet/aspnet:9.0-alpine
WORKDIR /app
COPY --from=builder /app/publish .

ENV ASPNETCORE_URLS=http://+:8080
ENV OPENAI_API_KEY=""
ENV GEMINI_API_KEY=""

EXPOSE 8080
ENTRYPOINT ["dotnet", "Mindforge.API.dll"]
