mirror of
https://github.com/wahyd4/SAI2.git
synced 2026-08-09 05:06:05 +10:00
50 lines
1.0 KiB
Docker
50 lines
1.0 KiB
Docker
# Stage 1: Build Next.js frontend
|
|
FROM node:20.11 as build-stage
|
|
WORKDIR /app
|
|
|
|
# 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"]
|