mirror of
https://github.com/stackblitz-labs/bolt.diy
synced 2025-06-26 18:26:38 +00:00
Merge 811d6b6c1a into d0d9818964
This commit is contained in:
commit
5003ff5656
48
Dockerfile
48
Dockerfile
@ -1,17 +1,15 @@
|
|||||||
|
# Base image
|
||||||
ARG BASE=node:20.18.0
|
ARG BASE=node:20.18.0
|
||||||
FROM ${BASE} AS base
|
FROM ${BASE} AS base
|
||||||
|
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
# Install dependencies (this step is cached as long as the dependencies don't change)
|
# Install dependencies (cached if unchanged)
|
||||||
COPY package.json pnpm-lock.yaml ./
|
COPY package.json pnpm-lock.yaml ./
|
||||||
|
|
||||||
#RUN npm install -g corepack@latest
|
RUN corepack enable pnpm && pnpm install --frozen-lockfile
|
||||||
|
|
||||||
#RUN corepack enable pnpm && pnpm install
|
# Copy the rest of the source code
|
||||||
RUN npm install -g pnpm && pnpm install
|
|
||||||
|
|
||||||
# Copy the rest of your app's source code
|
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Expose the port the app runs on
|
# Expose the port the app runs on
|
||||||
@ -20,9 +18,9 @@ EXPOSE 5173
|
|||||||
# Production image
|
# Production image
|
||||||
FROM base AS bolt-ai-production
|
FROM base AS bolt-ai-production
|
||||||
|
|
||||||
# Define environment variables with default values or let them be overridden
|
# Define environment variables
|
||||||
ARG GROQ_API_KEY
|
ARG GROQ_API_KEY
|
||||||
ARG HuggingFace_API_KEY
|
ARG HUGGINGFACE_API_KEY
|
||||||
ARG OPENAI_API_KEY
|
ARG OPENAI_API_KEY
|
||||||
ARG ANTHROPIC_API_KEY
|
ARG ANTHROPIC_API_KEY
|
||||||
ARG OPEN_ROUTER_API_KEY
|
ARG OPEN_ROUTER_API_KEY
|
||||||
@ -37,7 +35,7 @@ ARG DEFAULT_NUM_CTX
|
|||||||
|
|
||||||
ENV WRANGLER_SEND_METRICS=false \
|
ENV WRANGLER_SEND_METRICS=false \
|
||||||
GROQ_API_KEY=${GROQ_API_KEY} \
|
GROQ_API_KEY=${GROQ_API_KEY} \
|
||||||
HuggingFace_KEY=${HuggingFace_API_KEY} \
|
HUGGINGFACE_API_KEY=${HUGGINGFACE_API_KEY} \
|
||||||
OPENAI_API_KEY=${OPENAI_API_KEY} \
|
OPENAI_API_KEY=${OPENAI_API_KEY} \
|
||||||
ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
|
ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
|
||||||
OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
|
OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
|
||||||
@ -48,36 +46,23 @@ ENV WRANGLER_SEND_METRICS=false \
|
|||||||
TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
|
TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
|
||||||
AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
|
AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
|
||||||
VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
|
VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
|
||||||
DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}\
|
DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX} \
|
||||||
RUNNING_IN_DOCKER=true
|
RUNNING_IN_DOCKER=true
|
||||||
|
|
||||||
# Pre-configure wrangler to disable metrics
|
# Disable Wrangler metrics
|
||||||
RUN mkdir -p /root/.config/.wrangler && \
|
RUN mkdir -p /root/.config/.wrangler && \
|
||||||
echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
|
echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json
|
||||||
|
|
||||||
RUN pnpm run build
|
RUN pnpm run build
|
||||||
|
|
||||||
CMD [ "pnpm", "run", "dockerstart"]
|
CMD ["pnpm", "run", "dockerstart"]
|
||||||
|
|
||||||
# Development image
|
# Development image
|
||||||
FROM base AS bolt-ai-development
|
FROM base AS bolt-ai-development
|
||||||
|
|
||||||
# Define the same environment variables for development
|
# Define the same environment variables for development
|
||||||
ARG GROQ_API_KEY
|
|
||||||
ARG HuggingFace
|
|
||||||
ARG OPENAI_API_KEY
|
|
||||||
ARG ANTHROPIC_API_KEY
|
|
||||||
ARG OPEN_ROUTER_API_KEY
|
|
||||||
ARG GOOGLE_GENERATIVE_AI_API_KEY
|
|
||||||
ARG OLLAMA_API_BASE_URL
|
|
||||||
ARG XAI_API_KEY
|
|
||||||
ARG TOGETHER_API_KEY
|
|
||||||
ARG TOGETHER_API_BASE_URL
|
|
||||||
ARG VITE_LOG_LEVEL=debug
|
|
||||||
ARG DEFAULT_NUM_CTX
|
|
||||||
|
|
||||||
ENV GROQ_API_KEY=${GROQ_API_KEY} \
|
ENV GROQ_API_KEY=${GROQ_API_KEY} \
|
||||||
HuggingFace_API_KEY=${HuggingFace_API_KEY} \
|
HUGGINGFACE_API_KEY=${HUGGINGFACE_API_KEY} \
|
||||||
OPENAI_API_KEY=${OPENAI_API_KEY} \
|
OPENAI_API_KEY=${OPENAI_API_KEY} \
|
||||||
ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
|
ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \
|
||||||
OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
|
OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \
|
||||||
@ -88,8 +73,13 @@ ENV GROQ_API_KEY=${GROQ_API_KEY} \
|
|||||||
TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
|
TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \
|
||||||
AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
|
AWS_BEDROCK_CONFIG=${AWS_BEDROCK_CONFIG} \
|
||||||
VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
|
VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \
|
||||||
DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX}\
|
DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX} \
|
||||||
RUNNING_IN_DOCKER=true
|
RUNNING_IN_DOCKER=true
|
||||||
|
|
||||||
RUN mkdir -p ${WORKDIR}/run
|
# Create run directory with proper permissions
|
||||||
CMD pnpm run dev --host
|
RUN mkdir -p /app/run && chown node:node /app/run
|
||||||
|
|
||||||
|
# Switch to non-root user for better security
|
||||||
|
USER node
|
||||||
|
|
||||||
|
CMD ["pnpm", "run", "dev", "--host"]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user