Spaces:
Build error
Build error
File size: 2,940 Bytes
aee1b53 a4bdde3 aee1b53 9c74e91 aee1b53 fc3b984 e2f8494 e6835e7 a36deec 19a9ea2 e2f8494 000644a 169eff3 1d26e73 a36deec aee1b53 a040483 aee1b53 a040483 aee1b53 a040483 aee1b53 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 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 |
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
RUN --mount=type=cache,target=/app/.npm \
npm set cache /app/.npm && \
npm ci
RUN mkdir defaults
COPY defaults/* /defaults
RUN chmod -R 777 /defaults
COPY .template.env.local .template.env.local
RUN --mount=type=secret,id=MODEL_NAME,mode=0444 \
--mount=type=secret,id=MODEL_PARAMS,mode=0444 \
--mount=type=secret,id=MONGODB_URL,mode=0444 \
--mount=type=secret,id=APP_COLOR,mode=0444 \
--mount=type=secret,id=APP_NAME,mode=0444 \
MODEL_NAME=cat /run/secrets/MODEL_NAME 2> /dev/null || /defaults/MODEL_NAME && export MODEL_NAME \
&& MODEL_PARAMS=cat /run/secrets/MODEL_PARAMS 2> /dev/null || /defaults/MODEL_PARAMS && export MODEL_PARAMS \
&& MONGODB_URL=cat /run/secrets/MONGODB_URL 2> /dev/null || /defaults/MONGODB_URL && export MONGODB_URL \
&& APP_COLOR=cat /run/secrets/APP_COLOR 2> /dev/null || /defaults/APP_COLOR && export APP_COLOR \
&& APP_NAME=cat /run/secrets/APP_NAME 2> /dev/null || /defaults/APP_NAME && export APP_NAME \
&& echo "$MONGODB_URL" \
&& envsubst < ".template.env.local" > ".env.local"
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 && \
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 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
COPY entrypoint.sh entrypoint.sh
ENTRYPOINT ["/bin/bash"]
CMD ["entrypoint.sh"]
|