ARG BASE=node:20.18.0 FROM ${BASE} AS base # Ensure root user USER root WORKDIR /app # Install dependencies (this step is cached as long as the dependencies don't change) COPY package.json pnpm-lock.yaml ./ RUN corepack enable pnpm && pnpm install # Copy the rest of your app's source code COPY . . # Expose the port the app runs on EXPOSE 5173 # # Production image # FROM base AS bolt-ai-production # # Ensure root user # USER root # # Define environment variables with default values or let them be overridden # ARG GROQ_API_KEY # ARG HuggingFace_API_KEY # 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 WRANGLER_SEND_METRICS=false \ # GROQ_API_KEY=${GROQ_API_KEY} \ # HuggingFace_KEY=${HuggingFace_API_KEY} \ # OPENAI_API_KEY=${OPENAI_API_KEY} \ # ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \ # OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \ # GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \ # OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \ # XAI_API_KEY=${XAI_API_KEY} \ # TOGETHER_API_KEY=${TOGETHER_API_KEY} \ # TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \ # VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \ # DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX} # # Pre-configure wrangler to disable metrics # RUN mkdir -p /root/.config/.wrangler && \ # echo '{"enabled":false}' > /root/.config/.wrangler/metrics.json # RUN npm run build # RUN chmod -R 777 /app # CMD [ "pnpm", "run", "dockerstart"] # Development image FROM base AS bolt-ai-development # Ensure root user USER root # 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} \ HuggingFace_API_KEY=${HuggingFace_API_KEY} \ OPENAI_API_KEY=${OPENAI_API_KEY} \ ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} \ OPEN_ROUTER_API_KEY=${OPEN_ROUTER_API_KEY} \ GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY} \ OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL} \ XAI_API_KEY=${XAI_API_KEY} \ TOGETHER_API_KEY=${TOGETHER_API_KEY} \ TOGETHER_API_BASE_URL=${TOGETHER_API_BASE_URL} \ VITE_LOG_LEVEL=${VITE_LOG_LEVEL} \ DEFAULT_NUM_CTX=${DEFAULT_NUM_CTX} RUN mkdir -p ${WORKDIR}/run RUN chmod -R 777 /app CMD pnpm run dev --host