Spaces:
Runtime error
Runtime error
File size: 3,370 Bytes
fdc08be 37f284c aee1b53 a4bdde3 aee1b53 9c74e91 aee1b53 fefa00b ed2da7e 29bbaa5 9ac2269 fdc08be 29bbaa5 feecbdf 1d26e73 a36deec 277f3f8 aee1b53 a040483 aee1b53 a040483 aee1b53 feecbdf 7b85210 29bbaa5 9ac2269 fdc08be 29bbaa5 feecbdf 9ac2269 29bbaa5 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 42d9bcf a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 |
ARG MODEL_NAME
ARG MODEL_PARAMS
ARG APP_COLOR
ARG APP_NAME
FROM node:19 as chatui-builder
WORKDIR /app
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
git gettext && \
rm -rf /var/lib/apt/lists/*
RUN git clone https://github.com/huggingface/chat-ui.git
WORKDIR /app/chat-ui
COPY .env.local.template .env.local.template
RUN mkdir defaults
ADD defaults /defaults
RUN chmod -R 777 /defaults
RUN --mount=type=secret,id=MONGODB_URL,mode=0444 \
"${MODEL_NAME:="${cat /defaults/MODEL_NAME}"}" && export MODEL_NAME \
"${MODEL_PARAMS:="${cat /defaults/MODEL_PARAMS}"}" && export MODEL_PARAMS \
"${APP_COLOR:="${cat /defaults/APP_COLOR}"}" && export APP_COLOR \
"${APP_NAME:="${cat /defaults/APP_NAME}"}" && export APP_NAME \
&& MONGODB_URL=$(cat /run/secrets/MONGODB_URL 2> /dev/null | grep '^' || cat /defaults/MONGODB_URL) && export MONGODB_URL \
&& envsubst < ".env.local.template" > ".env.local" \
&& rm .env.local.template
RUN --mount=type=cache,target=/app/.npm \
npm set cache /app/.npm && \
npm ci
RUN npm run build
FROM ghcr.io/huggingface/text-generation-inference:latest
ENV TZ=Europe/Paris \
PORT=3000
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
gnupg \
curl \
gettext && \
rm -rf /var/lib/apt/lists/*
COPY entrypoint.sh.template entrypoint.sh.template
RUN mkdir defaults
ADD defaults /defaults
RUN chmod -R 777 /defaults
RUN --mount=type=secret,id=MONGODB_URL,mode=0444 \
"${MODEL_NAME:="${cat /defaults/MODEL_NAME}"}" && export MODEL_NAME \
"${MODEL_PARAMS:="${cat /defaults/MODEL_PARAMS}"}" && export MODEL_PARAMS \
"${APP_COLOR:="${cat /defaults/APP_COLOR}"}" && export APP_COLOR \
"${APP_NAME:="${cat /defaults/APP_NAME}"}" && export APP_NAME \
&& MONGODB_URL=$(cat /run/secrets/MONGODB_URL 2> /dev/null | grep '^' || cat /defaults/MONGODB_URL) && export MONGODB_URL \
&& envsubst < "entrypoint.sh.template" > "entrypoint.sh" \
&& rm entrypoint.sh.template
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 chown -R 1000:1000 /data
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 mkdir /app
RUN chown -R 1000:1000 /app
RUN useradd -m -u 1000 user
# Switch to the "user" user
USER user
ENV HOME=/home/user \
PATH=/home/user/.local/bin:$PATH
RUN npm config set prefix /home/user/.local
RUN npm install -g pm2
COPY --from=chatui-builder --chown=1000 /app/chat-ui/node_modules /app/node_modules
COPY --from=chatui-builder --chown=1000 /app/chat-ui/package.json /app/package.json
COPY --from=chatui-builder --chown=1000 /app/chat-ui/build /app/build
ENTRYPOINT ["/bin/bash"]
CMD ["entrypoint.sh"]
|