# syntax=docker/dockerfile:1 FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /source COPY src/Aquarium.Shared/Aquarium.Shared.csproj src/Aquarium.Shared/ COPY src/Aquarium.Client/Aquarium.Client.csproj src/Aquarium.Client/ COPY src/Aquarium.Server/Aquarium.Server.csproj src/Aquarium.Server/ RUN dotnet restore src/Aquarium.Client/Aquarium.Client.csproj RUN dotnet restore src/Aquarium.Server/Aquarium.Server.csproj COPY src/Aquarium.Shared/ src/Aquarium.Shared/ COPY src/Aquarium.Client/ src/Aquarium.Client/ COPY src/Aquarium.Server/ src/Aquarium.Server/ RUN dotnet publish src/Aquarium.Client/Aquarium.Client.csproj \ --configuration Release \ --output /artifacts/client \ --no-restore RUN dotnet publish src/Aquarium.Server/Aquarium.Server.csproj \ --configuration Release \ --output /artifacts/server \ --no-restore FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS final WORKDIR /app ENV ASPNETCORE_URLS=http://+:8080 \ DOTNET_EnableDiagnostics=0 EXPOSE 8080 COPY --from=build /artifacts/server/ ./ COPY --from=build /artifacts/client/wwwroot/ ./wwwroot/ USER app ENTRYPOINT ["dotnet", "Aquarium.Server.dll"]