FROM mcr.microsoft.com/dotnet/sdk:10.0 AS build WORKDIR /src COPY Wiki.slnx Directory.Build.props ./ COPY src/Wiki.Core/Wiki.Core.csproj src/Wiki.Core/ COPY src/Wiki.Application/Wiki.Application.csproj src/Wiki.Application/ COPY src/Wiki.Adapters.Gitea/Wiki.Adapters.Gitea.csproj src/Wiki.Adapters.Gitea/ COPY src/Wiki.Adapters.LlamaCpp/Wiki.Adapters.LlamaCpp.csproj src/Wiki.Adapters.LlamaCpp/ COPY src/Wiki.Adapters.TypeSafe/Wiki.Adapters.TypeSafe.csproj src/Wiki.Adapters.TypeSafe/ COPY src/Wiki.Adapters.FileIndex/Wiki.Adapters.FileIndex.csproj src/Wiki.Adapters.FileIndex/ COPY src/Wiki.Adapters.Anthropic/Wiki.Adapters.Anthropic.csproj src/Wiki.Adapters.Anthropic/ COPY src/Wiki.Host/Wiki.Host.csproj src/Wiki.Host/ RUN dotnet restore src/Wiki.Host/Wiki.Host.csproj COPY . . # No --no-restore: publishing a Blazor Web App with it skips the static-asset # setup and blazor.web.js never lands in the output (dotnet/aspnetcore#65291). RUN dotnet publish src/Wiki.Host/Wiki.Host.csproj -c Release -o /app/publish /p:UseAppHost=false FROM mcr.microsoft.com/dotnet/aspnet:10.0 AS runtime WORKDIR /app COPY --from=build /app/publish ./ EXPOSE 8080 ENV ASPNETCORE_URLS=http://0.0.0.0:8080 \ DOTNET_RUNNING_IN_CONTAINER=true \ DOTNET_NOLOGO=true # Index snapshots and the catalog live here; a mounted volume in the cluster. RUN mkdir -p /data VOLUME ["/data"] ENTRYPOINT ["dotnet", "Wiki.Host.dll"]