2025-04-25 04:38:10 +08:00
|
|
|
FROM node:20-slim
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
# Copy package files first for better layer caching
|
|
|
|
COPY package*.json ./
|
2025-04-26 08:09:16 +08:00
|
|
|
|
|
|
|
# Install build dependencies for node-gyp
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
|
|
python3 \
|
|
|
|
make \
|
|
|
|
g++ \
|
|
|
|
build-essential \
|
|
|
|
pkg-config \
|
|
|
|
libcairo2-dev \
|
|
|
|
libpango1.0-dev \
|
|
|
|
libjpeg-dev \
|
|
|
|
libgif-dev \
|
|
|
|
librsvg2-dev \
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
2025-04-25 04:38:10 +08:00
|
|
|
RUN npm install
|
|
|
|
|
|
|
|
# Copy the frontend code
|
|
|
|
COPY . .
|
|
|
|
|
2025-05-27 18:04:17 +08:00
|
|
|
ENV NEXT_PUBLIC_VERCEL_ENV production
|
|
|
|
|
2025-04-26 08:09:16 +08:00
|
|
|
RUN npm run build
|
2025-04-25 05:02:42 +08:00
|
|
|
|
2025-04-25 04:38:10 +08:00
|
|
|
EXPOSE 3000
|
|
|
|
|
2025-04-25 05:02:42 +08:00
|
|
|
# Default command is dev, but can be overridden in docker-compose
|
2025-04-26 08:09:16 +08:00
|
|
|
CMD ["npm", "start"]
|