34 lines
1.4 KiB
Docker
34 lines
1.4 KiB
Docker
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"]
|