18 lines
316 B
Docker
Executable file
18 lines
316 B
Docker
Executable file
FROM node:20-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# Install dependencies (cached layer — only rebuilds if package files change)
|
|
COPY server/package*.json ./
|
|
RUN npm ci --only=production
|
|
|
|
# Copy application source
|
|
COPY server/ .
|
|
|
|
ENV NODE_ENV=production
|
|
ENV SERVE_STATIC=false
|
|
ENV PORT=3100
|
|
|
|
EXPOSE 3100
|
|
|
|
CMD ["node", "index.js"]
|