# ベースイメージとしてnodeを使用 FROM node:20-alpine AS base FROM base AS builder RUN apk add --no-cache libc6-compat WORKDIR /app COPY package*.json tsconfig.json ./ COPY src ./src COPY public ./public RUN npm ci && \ npm run build && \ npm prune --production FROM base AS runner WORKDIR /app RUN addgroup --system --gid 1001 nodejs RUN adduser --system --uid 1001 hono COPY --from=builder /app/node_modules /app/node_modules COPY --from=builder /app/dist /app/dist COPY --from=builder /app/public /app/public COPY --from=builder /app/package.json /app/package.json RUN chown -R hono:nodejs /app USER hono EXPOSE 3000 CMD ["node", "/app/dist/index.js"]