- Dockerfile: replace nginx with serve for static files - Fix auth endpoint: /auth/login → /auth/token - Add ProjectsPage, ProjectDetailPage - Add MilestonesPage, MilestoneDetailPage with progress bar - Add NotificationsPage with unread count - Sidebar: add milestones/notifications nav, live unread badge - API: configurable VITE_API_BASE for host nginx proxy - Types: add Milestone, MilestoneProgress, Notification, ProjectMember
18 lines
405 B
Docker
18 lines
405 B
Docker
# Build stage
|
|
FROM node:20-alpine AS build
|
|
WORKDIR /app
|
|
COPY package.json package-lock.json* ./
|
|
RUN npm install
|
|
COPY . .
|
|
ARG VITE_API_BASE=/api
|
|
ENV VITE_API_BASE=$VITE_API_BASE
|
|
RUN npm run build
|
|
|
|
# Production stage — lightweight static server, no nginx
|
|
FROM node:20-alpine
|
|
RUN npm install -g serve@14
|
|
WORKDIR /app
|
|
COPY --from=build /app/dist ./dist
|
|
EXPOSE 3000
|
|
CMD ["serve", "-s", "dist", "-l", "3000"]
|