This commit is contained in:
gitworkflows 2025-06-23 00:21:55 +06:00 committed by GitHub
commit 5003ff5656
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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"]