chat-ui-example / Dockerfile
OlivierDehaene
Add chat ui + tgi + mongo dockerfile
985e74e
raw
history blame
1.75 kB
FROM node:19 as chatui-builder
WORKDIR /app
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
git && \
rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/huggingface/chat-ui.git
WORKDIR /app/chat-ui
RUN --mount=type=cache,target=/app/.npm \
npm set cache /app/.npm && \
npm ci
COPY .env.local .env.local
RUN npm run build
FROM ghcr.io/huggingface/text-generation-inference:latest
ENV TZ=Europe/Paris
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
gnupg \
curl && \
rm -rf /var/lib/apt/lists/*
RUN curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \
gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor
RUN echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-6.0.list
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
mongodb-org && \
rm -rf /var/lib/apt/lists/*
RUN mkdir -p /data/db
RUN curl -fsSL https://deb.nodesource.com/setup_19.x | /bin/bash -
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
nodejs && \
rm -rf /var/lib/apt/lists/*
RUN npm install -g pm2
RUN mkdir /app
COPY --from=chatui-builder /app/chat-ui/node_modules /app/node_modules
COPY --from=chatui-builder /app/chat-ui/package.json /app/package.json
COPY --from=chatui-builder /app/chat-ui/build /app/build
COPY entrypoint.sh entrypoint.sh
RUN chmod +x entrypoint.sh
ENTRYPOINT ["./entrypoint.sh"]