Reality123b commited on
Commit
1cf7cff
·
verified ·
1 Parent(s): 432aae3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +23 -31
Dockerfile CHANGED
@@ -1,33 +1,28 @@
1
- FROM ghcr.io/huggingface/chat-ui:latest AS base
 
 
 
 
 
 
 
2
 
3
- # Base configurations
4
  ARG MODEL_NAME
5
  ENV MODEL_NAME=${MODEL_NAME}
6
  ENV TZ=Europe/Paris \
7
  PORT=3000
8
 
9
- # Install MongoDB
10
- RUN curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
11
- gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg --dearmor
12
-
13
- RUN 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.list
14
-
15
  RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
16
- mongodb-org && \
 
 
17
  rm -rf /var/lib/apt/lists/*
18
 
19
- # Install Node.js
20
- RUN curl -fsSL https://deb.nodesource.com/setup_20.x | /bin/bash -
21
-
22
- RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
23
- nodejs && \
24
- rm -rf /var/lib/apt/lists/*
25
-
26
- # Image setup
27
- RUN useradd -m -u 1000 user
28
-
29
- RUN mkdir /app && chown -R 1000:1000 /app
30
- RUN mkdir /data && chown -R 1000:1000 /data
31
 
32
  # Switch to the "user" user
33
  USER user
@@ -35,19 +30,16 @@ USER user
35
  ENV HOME=/home/user \
36
  PATH=/home/user/.local/bin:$PATH
37
 
38
- RUN npm config set prefix /home/user/.local
39
- RUN npm install -g dotenv-cli
40
-
41
- # Copy chat-ui dependencies
42
- COPY --from=base --chown=1000 /app/node_modules /app/node_modules
43
- COPY --from=base --chown=1000 /app/package.json /app/package.json
44
- COPY --from=base --chown=1000 /app/build /app/build
45
-
46
- COPY --from=base --chown=1000 /app/.env /app/.env
47
  COPY --chown=1000 .env.local /app/.env.local
48
 
49
- # Adjust entrypoint for HF Space
50
  COPY --chown=1000 entrypoint.sh /app/entrypoint.sh
51
  RUN chmod +x /app/entrypoint.sh
52
 
 
53
  ENTRYPOINT [ "/app/entrypoint.sh" ]
 
1
+ # Base stage for chat-ui
2
+ FROM ghcr.io/huggingface/chat-ui:latest AS chat_ui_base
3
+
4
+ # Add text-generation-inference as a separate stage
5
+ FROM ghcr.io/huggingface/text-generation-inference:latest AS text_gen_inference
6
+
7
+ # Final stage
8
+ FROM ubuntu:20.04 AS final
9
 
 
10
  ARG MODEL_NAME
11
  ENV MODEL_NAME=${MODEL_NAME}
12
  ENV TZ=Europe/Paris \
13
  PORT=3000
14
 
15
+ # Update and install dependencies
 
 
 
 
 
16
  RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
17
+ mongodb-org \
18
+ nodejs \
19
+ curl && \
20
  rm -rf /var/lib/apt/lists/*
21
 
22
+ # Create user and directories
23
+ RUN useradd -m -u 1000 user && \
24
+ mkdir /app && chown -R 1000:1000 /app && \
25
+ mkdir /data && chown -R 1000:1000 /data
 
 
 
 
 
 
 
 
26
 
27
  # Switch to the "user" user
28
  USER user
 
30
  ENV HOME=/home/user \
31
  PATH=/home/user/.local/bin:$PATH
32
 
33
+ # Copy files from chat-ui stage
34
+ COPY --from=chat_ui_base --chown=1000 /app/node_modules /app/node_modules
35
+ COPY --from=chat_ui_base --chown=1000 /app/package.json /app/package.json
36
+ COPY --from=chat_ui_base --chown=1000 /app/build /app/build
37
+ COPY --from=chat_ui_base --chown=1000 /app/.env /app/.env
 
 
 
 
38
  COPY --chown=1000 .env.local /app/.env.local
39
 
40
+ # Copy entrypoint script
41
  COPY --chown=1000 entrypoint.sh /app/entrypoint.sh
42
  RUN chmod +x /app/entrypoint.sh
43
 
44
+ # Use the entrypoint script
45
  ENTRYPOINT [ "/app/entrypoint.sh" ]