# See https://aka.ms/customizecontainer to learn how to customize your debug container and how Visual Studio uses this Dockerfile to build your images for faster debugging. # Install ffmpeg in its own stage so it can be cached independently of your app code FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS runtime-base WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends ffmpeg \ && rm -rf /var/lib/apt/lists/* EXPOSE 8080 EXPOSE 8081 # Build FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build ARG BUILD_CONFIGURATION=Release WORKDIR /src COPY ["Astrocore.Api/Astrocore.Api.csproj", "Astrocore.Api/"] RUN dotnet restore "./Astrocore.Api/Astrocore.Api.csproj" COPY . . WORKDIR /src/Astrocore.Api RUN dotnet build "./Astrocore.Api.csproj" -c $BUILD_CONFIGURATION -o /app/build # Publish FROM build AS publish ARG BUILD_CONFIGURATION=Release RUN dotnet publish "./Astrocore.Api.csproj" -c $BUILD_CONFIGURATION -o /app/publish /p:UseAppHost=false # Final FROM runtime-base AS final WORKDIR /app COPY --from=publish /app/publish . # Keep your existing behavior, but don't assume APP_UID always exists at build time ARG APP_UID USER $APP_UID ENTRYPOINT ["dotnet", "Astrocore.Api.dll"]