CoolFace
Apppublic

Guiding-light/Chat-AI

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
Dockerfile127 linesDownload Raw Back to root
1ARG MODEL_NAME2ARG MODEL_PARAMS3ARG MODEL_PROMPT_TEMPLATE4ARG APP_COLOR5ARG APP_NAME6 7 8FROM node:20 as chatui-builder9ARG MODEL_NAME10ARG MODEL_PARAMS11ARG APP_COLOR12ARG APP_NAME13ARG MODEL_PROMPT_TEMPLATE14 15WORKDIR /app16 17RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \18    git gettext && \19    rm -rf /var/lib/apt/lists/*20 21 22RUN git clone https://github.com/huggingface/chat-ui.git23 24WORKDIR /app/chat-ui25 26 27COPY .env.local.template .env.local.template28 29RUN mkdir defaults30ADD defaults /defaults31RUN chmod -R 777 /defaults32RUN --mount=type=secret,id=MONGODB_URL,mode=0444 \33    MODEL_NAME="${MODEL_NAME:="$(cat /defaults/MODEL_NAME)"}" && export MODEL_NAME \34    && MODEL_PARAMS="${MODEL_PARAMS:="$(cat /defaults/MODEL_PARAMS)"}" && export MODEL_PARAMS \35    && MODEL_PROMPT_TEMPLATE="${MODEL_PROMPT_TEMPLATE:="$(cat /defaults/MODEL_PROMPT_TEMPLATE)"}" && export MODEL_PROMPT_TEMPLATE \36    && APP_COLOR="${APP_COLOR:="$(cat /defaults/APP_COLOR)"}" && export APP_COLOR \37    && APP_NAME="${APP_NAME:="$(cat /defaults/APP_NAME)"}" && export APP_NAME \38    && MONGODB_URL=$(cat /run/secrets/MONGODB_URL > /dev/null | grep '^' || cat /defaults/MONGODB_URL) && export MONGODB_URL && \39    echo "${MONGODB_URL}" && \40    envsubst < ".env.local.template" > ".env.local" \ 41    && rm .env.local.template42 43 44 45RUN --mount=type=cache,target=/app/.npm \46    npm set cache /app/.npm && \47    npm ci48 49RUN npm run build50 51FROM ghcr.io/huggingface/text-generation-inference:latest52 53ARG MODEL_NAME54ARG MODEL_PARAMS55ARG MODEL_PROMPT_TEMPLATE56ARG APP_COLOR57ARG APP_NAME58 59ENV TZ=Europe/Paris \60    PORT=300061 62 63 64RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \65    gnupg \66    curl \67    gettext && \68    rm -rf /var/lib/apt/lists/*69COPY entrypoint.sh.template entrypoint.sh.template70 71RUN mkdir defaults72ADD defaults /defaults73RUN chmod -R 777 /defaults74 75RUN --mount=type=secret,id=MONGODB_URL,mode=0444 \76    MODEL_NAME="${MODEL_NAME:="$(cat /defaults/MODEL_NAME)"}" && export MODEL_NAME \77    && MODEL_PARAMS="${MODEL_PARAMS:="$(cat /defaults/MODEL_PARAMS)"}" && export MODEL_PARAMS \78    && MODEL_PROMPT_TEMPLATE="${MODEL_PROMPT_TEMPLATE:="$(cat /defaults/MODEL_PROMPT_TEMPLATE)"}" && export MODEL_PROMPT_TEMPLATE \79    && APP_COLOR="${APP_COLOR:="$(cat /defaults/APP_COLOR)"}" && export APP_COLOR \80    && APP_NAME="${APP_NAME:="$(cat /defaults/APP_NAME)"}" && export APP_NAME \81    && MONGODB_URL=$(cat /run/secrets/MONGODB_URL > /dev/null | grep '^' || cat /defaults/MONGODB_URL) && export MONGODB_URL &&  \82    envsubst < "entrypoint.sh.template" > "entrypoint.sh" \83    && rm entrypoint.sh.template84 85 86RUN curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \87    gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \88   --dearmor89 90RUN echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-7.0.list91 92RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \93    mongodb-org && \94    rm -rf /var/lib/apt/lists/*95 96RUN mkdir -p /data/db97RUN chown -R 1000:1000 /data98 99RUN curl -fsSL https://deb.nodesource.com/setup_20.x | /bin/bash -100 101RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \102    nodejs && \103    rm -rf /var/lib/apt/lists/*104 105RUN mkdir /app106RUN chown -R 1000:1000 /app107 108RUN useradd -m -u 1000 user109 110# Switch to the "user" user111USER user112 113ENV HOME=/home/user \114    PATH=/home/user/.local/bin:$PATH115 116RUN npm config set prefix /home/user/.local117RUN npm install -g pm2118 119COPY --from=chatui-builder --chown=1000 /app/chat-ui/node_modules /app/node_modules120COPY --from=chatui-builder --chown=1000 /app/chat-ui/package.json /app/package.json121COPY --from=chatui-builder --chown=1000 /app/chat-ui/build /app/build122 123ENTRYPOINT ["/bin/bash"]124CMD ["entrypoint.sh"]125 126 127