feishin/Dockerfile

26 lines
592 B
Text
Raw Normal View History

# --- Builder stage
2025-06-02 21:39:12 -07:00
FROM node:23-alpine as builder
WORKDIR /app
2025-05-25 21:15:03 -07:00
# Copy package.json first to cache node_modules
2025-06-02 21:30:57 -07:00
COPY package.json pnpm-lock.yaml .
2025-05-25 21:15:03 -07:00
2025-06-02 21:37:27 -07:00
RUN npm install -g pnpm
2025-05-25 21:15:03 -07:00
RUN pnpm install
# Copy code and build with cached modules
COPY . .
2025-05-25 21:15:03 -07:00
RUN pnpm run build:web
# --- Production stage
FROM nginx:alpine-slim
COPY --chown=nginx:nginx --from=builder /app/out/web /usr/share/nginx/html
COPY ./settings.js.template /etc/nginx/templates/settings.js.template
COPY ng.conf.template /etc/nginx/templates/default.conf.template
ENV PUBLIC_PATH="/"
EXPOSE 9180
CMD ["nginx", "-g", "daemon off;"]