zapishis-strapi/Dockerfile
2025-06-27 18:27:03 +03:00

42 lines
937 B
Docker

# -------------------
# 1. Build stage
# -------------------
FROM node:18-alpine AS builder
# Устанавливаем pnpm глобально
RUN npm install -g pnpm
WORKDIR /app
# Копируем манифесты и устанавливаем зависимости
COPY pnpm-lock.yaml ./
COPY package.json ./
RUN pnpm install --frozen-lockfile
# Копируем исходники и билдим Strapi admin
COPY . .
RUN pnpm build
# ------------------------
# 2. Runtime stage
# ------------------------
FROM node:18-alpine
# Устанавливаем pnpm
RUN npm install -g pnpm
WORKDIR /app
# Копируем только lockfile и package.json
COPY pnpm-lock.yaml ./
COPY package.json ./
RUN pnpm install --frozen-lockfile --prod
# Копируем билд и исходники из builder
COPY --from=builder /app .
# Открываем порт и запускаем
EXPOSE 1337
CMD ["pnpm", "start"]