Heuehneje commited on
Commit
2805a1e
·
verified ·
1 Parent(s): 4ea3da1

Upload Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +97 -92
Dockerfile CHANGED
@@ -1,92 +1,97 @@
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 . .
13
-
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
23
- ARG OPENAI_API_KEY
24
- ARG ANTHROPIC_API_KEY
25
- ARG OPEN_ROUTER_API_KEY
26
- ARG GOOGLE_GENERATIVE_AI_API_KEY
27
- ARG OLLAMA_API_BASE_URL
28
- ARG XAI_API_KEY
29
- ARG TOGETHER_API_KEY
30
- ARG TOGETHER_API_BASE_URL
31
- ARG AWS_BEDROCK_CONFIG
32
- ARG VITE_LOG_LEVEL=debug
33
- ARG DEFAULT_NUM_CTX
34
-
35
- ENV WRANGLER_SEND_METRICS=false \
36
- GROQ_API_KEY=${GROQ_API_KEY} \
37
- HuggingFace_KEY=${HuggingFace_API_KEY} \
38
- OPENAI_API_KEY=${OPENAI_API_KEY} \
39
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
40
- OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
41
- GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \
42
- OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \
43
- XAI_API_KEY=${XAI_API_KEY} \
44
- TOGETHER_API_KEY=${TOGETHER_API_KEY} \
45
- TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
46
- AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
47
- VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
48
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}\
49
- RUNNING_IN_DOCKER=true
50
-
51
- # Pre-configure wrangler to disable metrics
52
- RUN mkdir -p /root/.config/.wrangler && \
53
- echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
54
-
55
- RUN pnpm run build
56
-
57
- CMD [ "pnpm", "run", "dockerstart"]
58
-
59
- # Development image
60
- FROM base AS bolt-ai-development
61
-
62
- # Define the same environment variables for development
63
- ARG GROQ_API_KEY
64
- ARG HuggingFace
65
- ARG OPENAI_API_KEY
66
- ARG ANTHROPIC_API_KEY
67
- ARG OPEN_ROUTER_API_KEY
68
- ARG GOOGLE_GENERATIVE_AI_API_KEY
69
- ARG OLLAMA_API_BASE_URL
70
- ARG XAI_API_KEY
71
- ARG TOGETHER_API_KEY
72
- ARG TOGETHER_API_BASE_URL
73
- ARG VITE_LOG_LEVEL=debug
74
- ARG DEFAULT_NUM_CTX
75
-
76
- ENV GROQ_API_KEY=${GROQ_API_KEY} \
77
- HuggingFace_API_KEY=${HuggingFace_API_KEY} \
78
- OPENAI_API_KEY=${OPENAI_API_KEY} \
79
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
80
- OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
81
- GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \
82
- OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \
83
- XAI_API_KEY=${XAI_API_KEY} \
84
- TOGETHER_API_KEY=${TOGETHER_API_KEY} \
85
- TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
86
- AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
87
- VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
88
- DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}\
89
- RUNNING_IN_DOCKER=true
90
-
91
- RUN mkdir -p ${WORKDIR}/run
92
- CMD pnpm run dev --host
 
 
 
 
 
 
1
+ ARG BASE=node:20.18.0
2
+ FROM ${BASE} AS base
3
+
4
+ # Create app directory and set permissions
5
+ WORKDIR /app
6
+ RUN chown -R node:node /app
7
+
8
+ # Switch to non-root user
9
+ USER node
10
+
11
+ # Install dependencies (this step is cached as long as the dependencies don't change)
12
+ COPY --chown=node:node package.json pnpm-lock.yaml ./
13
+
14
+ RUN corepack enable pnpm && pnpm install
15
+
16
+ # Copy the rest of your app's source code
17
+ COPY --chown=node:node . .
18
+
19
+ # Expose the port the app runs on
20
+ EXPOSE 5173
21
+
22
+ # Production image
23
+ FROM base AS bolt-ai-production
24
+
25
+ # Define environment variables with default values or let them be overridden
26
+ ARG GROQ_API_KEY
27
+ ARG HuggingFace_API_KEY
28
+ ARG OPENAI_API_KEY
29
+ ARG ANTHROPIC_API_KEY
30
+ ARG OPEN_ROUTER_API_KEY
31
+ ARG GOOGLE_GENERATIVE_AI_API_KEY
32
+ ARG OLLAMA_API_BASE_URL
33
+ ARG XAI_API_KEY
34
+ ARG TOGETHER_API_KEY
35
+ ARG TOGETHER_API_BASE_URL
36
+ ARG AWS_BEDROCK_CONFIG
37
+ ARG VITE_LOG_LEVEL=debug
38
+ ARG DEFAULT_NUM_CTX
39
+
40
+ ENV WRANGLER_SEND_METRICS=false \
41
+ GROQ_API_KEY=${GROQ_API_KEY} \
42
+ HuggingFace_KEY=${HuggingFace_API_KEY} \
43
+ OPENAI_API_KEY=${OPENAI_API_KEY} \
44
+ ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
45
+ OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
46
+ GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \
47
+ OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \
48
+ XAI_API_KEY=${XAI_API_KEY} \
49
+ TOGETHER_API_KEY=${TOGETHER_API_KEY} \
50
+ TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
51
+ AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
52
+ VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
53
+ DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}\
54
+ RUNNING_IN_DOCKER=true
55
+
56
+ # Pre-configure wrangler to disable metrics
57
+ RUN mkdir -p /root/.config/.wrangler && \
58
+ echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
59
+
60
+ RUN pnpm run build
61
+
62
+ CMD [ "pnpm", "run", "dockerstart"]
63
+
64
+ # Development image
65
+ FROM base AS bolt-ai-development
66
+
67
+ # Define the same environment variables for development
68
+ ARG GROQ_API_KEY
69
+ ARG HuggingFace_API_KEY
70
+ ARG OPENAI_API_KEY
71
+ ARG ANTHROPIC_API_KEY
72
+ ARG OPEN_ROUTER_API_KEY
73
+ ARG GOOGLE_GENERATIVE_AI_API_KEY
74
+ ARG OLLAMA_API_BASE_URL
75
+ ARG XAI_API_KEY
76
+ ARG TOGETHER_API_KEY
77
+ ARG TOGETHER_API_BASE_URL
78
+ ARG VITE_LOG_LEVEL=debug
79
+ ARG DEFAULT_NUM_CTX
80
+
81
+ ENV GROQ_API_KEY=${GROQ_API_KEY} \
82
+ HuggingFace_API_KEY=${HuggingFace_API_KEY} \
83
+ OPENAI_API_KEY=${OPENAI_API_KEY} \
84
+ ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
85
+ OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
86
+ GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \
87
+ OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \
88
+ XAI_API_KEY=${XAI_API_KEY} \
89
+ TOGETHER_API_KEY=${TOGETHER_API_KEY} \
90
+ TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
91
+ AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
92
+ VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
93
+ DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}\
94
+ RUNNING_IN_DOCKER=true
95
+
96
+ RUN mkdir -p ${WORKDIR}/run
97
+ CMD pnpm run dev --host