Files
Wiki/Dockerfile

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"]