Spaces:
Running
Running
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 | |