Charan5775 commited on
Commit
a2e8414
·
verified ·
1 Parent(s): 8bf5dd3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +42 -18
Dockerfile CHANGED
@@ -1,20 +1,12 @@
1
- # Use the official Node.js 20.18.0 image
2
- FROM node:20.18.0
3
 
4
- # Install pnpm
5
- RUN curl -fsSL https://get.pnpm.io/install.sh | sh -
6
-
7
- # Update PATH to include pnpm
8
- ENV PATH=/home/node/.local/share/pnpm/lib/node_modules/pnpm/dist/bin:$PATH
9
-
10
- # Set the working directory
11
  WORKDIR /app
12
 
13
- # Copy package.json and pnpm-lock.yaml
14
- COPY package.json pnpm-lock.yaml.
15
 
16
- # Install dependencies
17
- RUN pnpm install
18
 
19
  # Copy the rest of your app's source code
20
  COPY . .
@@ -22,6 +14,9 @@ COPY . .
22
  # Expose the port the app runs on
23
  EXPOSE 5173
24
 
 
 
 
25
  # Define environment variables with default values or let them be overridden
26
  ARG GROQ_API_KEY
27
  ARG HuggingFace_API_KEY
@@ -37,7 +32,7 @@ ARG DEFAULT_NUM_CTX
37
 
38
  ENV WRANGLER_SEND_METRICS=false \
39
  GROQ_API_KEY=${GROQ_API_KEY} \
40
- HuggingFace_API_KEY=${HuggingFace_API_KEY} \
41
  OPENAI_API_KEY=${OPENAI_API_KEY} \
42
  ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
43
  OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
@@ -52,8 +47,37 @@ ENV WRANGLER_SEND_METRICS=false \
52
  RUN mkdir -p /root/.config/.wrangler && \
53
  echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
54
 
55
- # Build the application
56
- RUN pnpm run build
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
57
 
58
- # Command to run the application
59
- CMD ["pnpm", "run", "dockerstart"]
 
1
+ ARG BASE=node:20.18.0
2
+ FROM ${BASE} AS base
3
 
 
 
 
 
 
 
 
4
  WORKDIR /app
5
 
6
+ # Install dependencies (this step is cached as long as the dependencies don't change)
7
+ COPY package.json pnpm-lock.yaml ./
8
 
9
+ RUN corepack enable pnpm && pnpm install
 
10
 
11
  # Copy the rest of your app's source code
12
  COPY . .
 
14
  # Expose the port the app runs on
15
  EXPOSE 5173
16
 
17
+ # Production image
18
+ FROM base AS bolt-ai-production
19
+
20
  # Define environment variables with default values or let them be overridden
21
  ARG GROQ_API_KEY
22
  ARG HuggingFace_API_KEY
 
32
 
33
  ENV WRANGLER_SEND_METRICS=false \
34
  GROQ_API_KEY=${GROQ_API_KEY} \
35
+ HuggingFace_KEY=${HuggingFace_API_KEY} \
36
  OPENAI_API_KEY=${OPENAI_API_KEY} \
37
  ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
38
  OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
 
47
  RUN mkdir -p /root/.config/.wrangler && \
48
  echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
49
 
50
+ RUN npm run build
51
+
52
+ CMD [ "pnpm", "run", "dockerstart"]
53
+
54
+ # Development image
55
+ FROM base AS bolt-ai-development
56
+
57
+ # Define the same environment variables for development
58
+ ARG GROQ_API_KEY
59
+ ARG HuggingFace
60
+ ARG OPENAI_API_KEY
61
+ ARG ANTHROPIC_API_KEY
62
+ ARG OPEN_ROUTER_API_KEY
63
+ ARG GOOGLE_GENERATIVE_AI_API_KEY
64
+ ARG OLLAMA_API_BASE_URL
65
+ ARG TOGETHER_API_KEY
66
+ ARG TOGETHER_API_BASE_URL
67
+ ARG VITE_LOG_LEVEL=debug
68
+ ARG DEFAULT_NUM_CTX
69
+
70
+ ENV GROQ_API_KEY=${GROQ_API_KEY} \
71
+ HuggingFace_API_KEY=${HuggingFace_API_KEY} \
72
+ OPENAI_API_KEY=${OPENAI_API_KEY} \
73
+ ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
74
+ OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
75
+ GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \
76
+ OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \
77
+ TOGETHER_API_KEY=${TOGETHER_API_KEY} \
78
+ TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
79
+ VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
80
+ DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}
81
 
82
+ RUN mkdir -p ${WORKDIR}/run
83
+ CMD pnpm run dev --host