Moku/Frontend/Dockerfile
2025-12-30 00:58:06 +00:00

28 lines
585 B
Docker

# Base Stage
FROM node:24.12.0-alpine AS base
WORKDIR /app
RUN corepack enable && corepack prepare pnpm@latest --activate
COPY pnpm-lock.yaml package.json ./
# Development Stage
FROM base AS development
EXPOSE 5432
CMD ["sh", "-c", "pnpm install && pnpm dev --host"]
# Build Stage
FROM base AS build
RUN pnpm install --frozen-lockfile
COPY . .
RUN pnpm build
# Production Stage
FROM fholzer/nginx-brotli:v1.28.0 AS production
RUN rm -rf /usr/share/nginx/html/*
COPY --from=build /app/.output/public /usr/share/nginx/html
COPY nginx.conf /etc/nginx/conf.d/default.conf
EXPOSE 80