invoice-ocr-temp / Dockerfile
ukzada's picture
Upload 31 files
ae85a28 verified
Raw
History Blame Contribute Delete
744 Bytes
FROM node:24-alpine
WORKDIR /app
# Copy package files
COPY package*.json ./
COPY tsconfig*.json ./
COPY nest-cli.json ./
COPY eslint.config.mjs ./
# Install dependencies
RUN npm ci
# Copy Prisma schema
COPY prisma ./prisma
# Generate Prisma client
RUN npx prisma generate
# Copy source code
COPY src ./src
# Build the application
RUN npm run build
# Create uploads directory
RUN mkdir -p uploads
# Expose port
EXPOSE 3000
# Health check
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD node -e "require('http').get('http://localhost:3000', (r) => {if (r.statusCode !== 200) throw new Error(r.statusCode)})" || exit 1
# Start application
CMD ["node", "dist/main.js"]