elearning/Backend/Dockerfile
JakkrapartXD ff91df2bd6
All checks were successful
Build and Deploy Backend / Build Backend Docker Image (push) Successful in 44s
Build and Deploy Backend / Deploy E-learning Backend to Dev Server (push) Successful in 12s
Build and Deploy Backend / Notify Deployment Status (push) Successful in 1s
build: add openssl package to Dockerfile dependencies
2026-02-10 15:33:05 +07:00

45 lines
No EOL
762 B
Docker

FROM node:20-alpine
WORKDIR /app
# Install dependencies ทั้ง runtime และ build
RUN apk add --no-cache \
python3 \
make \
g++ \
openssl \
openssl-dev \
libstdc++
# Install pnpm
RUN npm install -g pnpm
# Copy package files
COPY package*.json ./
COPY pnpm-lock.yaml* ./
# Install dependencies
RUN pnpm install --frozen-lockfile
# Copy prisma schema
COPY prisma ./prisma
# Generate Prisma client
RUN pnpm prisma:generate
# Copy source code
COPY . .
# Build application
RUN pnpm build
# Set environment
ENV NODE_ENV=production
ENV PORT=4000
EXPOSE 4000
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
CMD wget --no-verbose --tries=1 --spider http://localhost:4000/health || exit 1
CMD ["npm", "start"]