mirror of
https://github.com/microsoft/AI-Red-Teaming-Playground-Labs.git
synced 2026-02-12 17:22:49 +00:00
40 lines
1.3 KiB
Docker
40 lines
1.3 KiB
Docker
# docker build -f docker/webapi/Dockerfile -t chat-copilot-webapi .
|
|
|
|
# webapp builder
|
|
FROM mcr.microsoft.com/devcontainers/javascript-node:20-bookworm AS builder-webapp
|
|
ARG PAT
|
|
WORKDIR /app
|
|
COPY src/chat-copilot/webapp/ .
|
|
RUN rm -f .env && \
|
|
yarn install \
|
|
--prefer-offline \
|
|
--frozen-lockfile \
|
|
--non-interactive \
|
|
--production=false
|
|
RUN yarn build
|
|
|
|
# webapi builder
|
|
FROM mcr.microsoft.com/dotnet/sdk:7.0 AS builder-webapi
|
|
ARG PAT
|
|
WORKDIR /source
|
|
# copy everything else and build app
|
|
COPY src/chat-copilot/webapi webapi
|
|
COPY src/chat-copilot/shared shared
|
|
RUN cd webapi && \
|
|
dotnet restore --use-current-runtime && \
|
|
apt-get update && apt-get install -y wget && \
|
|
wget -P data https://raw.githubusercontent.com/tesseract-ocr/tessdata/main/eng.traineddata && \
|
|
dotnet publish --use-current-runtime --self-contained false --no-restore -o /app
|
|
|
|
# final stage/image
|
|
FROM mcr.microsoft.com/dotnet/aspnet:7.0
|
|
WORKDIR /app
|
|
COPY --from=builder-webapi /app .
|
|
RUN apt-get update && \
|
|
apt-get install -y libleptonica-dev libtesseract-dev libc6-dev libjpeg62-turbo-dev libgdiplus && \
|
|
ln -s /usr/lib/x86_64-linux-gnu/liblept.so.5 x64/libleptonica-1.82.0.so && \
|
|
ln -s /usr/lib/x86_64-linux-gnu/libtesseract.so.4.0.1 x64/libtesseract50.so && \
|
|
mkdir -p /app/wwwroot
|
|
COPY --from=builder-webapp /app/build /app/wwwroot
|
|
|
|
ENTRYPOINT ["./CopilotChatWebApi"] |