FROM node:20 as chatui-builder WORKDIR /app COPY . . RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ git gettext && \ rm -rf /var/lib/apt/lists/* RUN wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb RUN dpkg -i libssl1.1_1.1.1f-1ubuntu2_amd64.deb RUN git clone https://github.com/huggingface/chat-ui.git --branch feature/idefics WORKDIR /app/chat-ui COPY entrypoint.sh /app/chat-ui/entrypoint.sh RUN --mount=type=cache,target=/app/.npm \ npm set cache /app/.npm && \ npm ci RUN --mount=type=secret,id=DOTENV_LOCAL,dst=.env.local \ npm run build 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 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 ENTRYPOINT ["/bin/bash"] CMD ["entrypoint.sh"]