24 lines
451 B
Docker
24 lines
451 B
Docker
FROM node:20-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy package files
|
|
COPY package*.json ./
|
|
|
|
# Install ALL dependencies (including dev dependencies for build)
|
|
RUN npm ci --include=dev
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Build TypeScript
|
|
RUN npm run build
|
|
|
|
# Verify dist was created
|
|
RUN ls -la dist/ || (echo "ERROR: dist not created!" && exit 1)
|
|
|
|
# Clean up dev dependencies to reduce image size (optional)
|
|
RUN npm prune --omit=dev
|
|
|
|
# Start the app
|
|
CMD ["npm", "start"] |