Dotbase-site/Dockerfile

42 lines
1.0 KiB
Docker
Raw Permalink Normal View History

2025-02-05 00:07:38 +05:30
FROM node:18-alpine AS builder
RUN apk add --no-cache python3 py3-pip make g++
WORKDIR /app
COPY package*.json ./
RUN npm install
RUN python3 -m venv /opt/venv && \
. /opt/venv/bin/activate && \
pip3 install --no-cache-dir autogen python-dotenv openai
COPY . .
RUN npm run build
RUN ls -la .next/standalone
FROM node:18-alpine AS runner
WORKDIR /app
# Install Python and set up venv
RUN apk add --no-cache python3 py3-pip make g++ && \
python3 -m venv /opt/venv && \
. /opt/venv/bin/activate && \
pip3 install --no-cache-dir autogen python-dotenv openai
# Copy all Next.js build output
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/.next/static ./.next/static
COPY --from=builder /app/public ./public
COPY --from=builder /app/app/api ./app/api
COPY --from=builder /opt/venv /opt/venv
RUN mkdir -p /app/temp && chmod 777 /app/temp
USER node
ENV NODE_ENV=production
ENV NEXT_TELEMETRY_DISABLED=1
ENV PORT=3000
ENV PATH="/opt/venv/bin:/usr/local/bin:${PATH}"
ENV VIRTUAL_ENV=/opt/venv
EXPOSE 3000
CMD ["node", "server.js"]