linux-one/ChatUI
0
1FROM ghcr.io/huggingface/chat-ui:latest AS base2 3FROM ghcr.io/huggingface/text-generation-inference:latest AS final4 5ARG MODEL_NAME6ENV MODEL_NAME=${MODEL_NAME}7 8ENV TZ=Europe/Paris \9 PORT=300010 11# mongo installation12RUN curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \13 gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \14 --dearmor15 16RUN 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.list17 18RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \19 mongodb-org && \20 rm -rf /var/lib/apt/lists/*21 22# node installation23RUN curl -fsSL https://deb.nodesource.com/setup_20.x | /bin/bash -24 25RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \26 nodejs && \27 rm -rf /var/lib/apt/lists/*28 29# image setup30RUN useradd -m -u 1000 user31 32RUN mkdir /app33RUN chown -R 1000:1000 /app34RUN mkdir /data35RUN chown -R 1000:1000 /data36 37# Switch to the "user" user38USER user39 40ENV HOME=/home/user \41 PATH=/home/user/.local/bin:$PATH42 43RUN npm config set prefix /home/user/.local44RUN npm install -g dotenv-cli45 46 47# copy chat-ui from base image48COPY --from=base --chown=1000 /app/node_modules /app/node_modules49COPY --from=base --chown=1000 /app/package.json /app/package.json50COPY --from=base --chown=1000 /app/build /app/build51 52COPY --from=base --chown=1000 /app/.env /app/.env53COPY --chown=1000 .env.local /app/.env.local54 55COPY --chown=1000 entrypoint.sh /app/entrypoint.sh56 57RUN chmod +x /app/entrypoint.sh58 59# entrypoint60ENTRYPOINT [ "/app/entrypoint.sh" ]