- 사용자 비밀번호 변경 API 추가 - 메뉴 권한 관리 API 추가 (조회/저장) - 인증 방법 수정 API 추가 - 사용자 권한 업데이트 API 추가 - 계정 관리 UI 컴포넌트 개선 - Docker 및 Makefile 설정 업데이트 🤖 Generated with Claude Code (https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
53 lines
1.3 KiB
Docker
53 lines
1.3 KiB
Docker
# Multi-stage build for React Vite application
|
|
# Multi-platform support for AMD64 and ARM64
|
|
FROM --platform=$BUILDPLATFORM node:20-alpine AS builder
|
|
|
|
# Install git (required for pnpm)
|
|
RUN apk add --no-cache git
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Install pnpm directly without corepack
|
|
RUN npm install -g pnpm@latest
|
|
|
|
# Copy package files
|
|
COPY package.json pnpm-lock.yaml ./
|
|
|
|
# Install dependencies using pnpm
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
# Copy source code
|
|
COPY . .
|
|
|
|
# Build the application
|
|
RUN pnpm run build
|
|
|
|
# Production stage with Apache
|
|
FROM httpd:2.4-alpine AS production
|
|
|
|
# Install necessary packages
|
|
RUN apk add --no-cache bash
|
|
|
|
# Copy built application from builder stage
|
|
COPY --from=builder /app/build /usr/local/apache2/htdocs/
|
|
|
|
# Copy Apache configuration
|
|
COPY docker/apache.conf /usr/local/apache2/conf/httpd.conf
|
|
|
|
# Copy .htaccess file for URL rewriting
|
|
COPY docker/.htaccess /usr/local/apache2/htdocs/.htaccess
|
|
|
|
# Copy entrypoint script
|
|
COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh
|
|
RUN chmod +x /usr/local/bin/entrypoint.sh
|
|
|
|
# Expose port 80
|
|
EXPOSE 80
|
|
|
|
# Health check
|
|
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
|
|
CMD wget --no-verbose --tries=1 --spider http://localhost/ || exit 1
|
|
|
|
# Start Apache using entrypoint script
|
|
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] |