Files
SAI2/Dockerfile
T
2024-03-25 01:48:23 +08:00

51 lines
1.1 KiB
Docker

# Stage 1: Build Next.js frontend
FROM node:20.11 as build-stage
WORKDIR /app
RUN echo "1" > /dev/null
# Install dependencies
COPY ./web/package*.json ./
RUN npm install
COPY ./web .
# Compile Next.js and configure distDir
RUN sed -i 's/distDir:.*/distDir: process.env.NEXT_DIST_DIR || ".\/ui"/' next.config.mjs
ENV NODE_ENV production
ENV NEXT_DIST_DIR ./NEXT_BUILD
RUN npm run build
# Stage 2: Set up the Python environment
FROM python:3.10-slim
WORKDIR /app
# Install Python dependencies
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
# Copy Next.js build artifacts from the build stage
COPY --from=build-stage /app/NEXT_BUILD /app/ui
COPY search4all.py .
# Set environment variables
ENV PORT 8800
ENV BACKEND=""
ENV OPENAI_API_KEY=""
ENV OPENAI_BASE_URL=""
ENV LLM_MODEL=""
ENV KV_NAME=""
ENV RELATED_QUESTIONS=""
# API keys
ENV BING_SEARCH_V7_SUBSCRIPTION_KEY=""
ENV GOOGLE_SEARCH_API_KEY=""
ENV SERPER_SEARCH_API_KEY=""
ENV SEARCHAPI_API_KEY=""
ENV SEARCH1API_KEY=""
# Expose port
EXPOSE 8800
# Start command
CMD ["python", "search4all.py"]