banatie-service/apps/api-service/Dockerfile.mono

30 lines
842 B
Docker

# Monorepo-aware Dockerfile for API Service
# Development stage - for docker-compose development with hot reload
FROM node:20-alpine AS development
WORKDIR /app
# Install pnpm globally
RUN npm install -g pnpm@10.11.0
# Copy workspace configuration from root
COPY pnpm-workspace.yaml package.json pnpm-lock.yaml ./
# Copy all workspace packages
COPY packages/ ./packages/
# Copy API service (exclude .env file - it's for local dev only)
COPY apps/api-service/package.json ./apps/api-service/
COPY apps/api-service/tsconfig.json ./apps/api-service/
COPY apps/api-service/src/ ./apps/api-service/src/
# Install all dependencies (workspace-aware)
RUN pnpm install --frozen-lockfile
# Set working directory to API service
WORKDIR /app/apps/api-service
# Expose port
EXPOSE 3000
# Use development command with hot reload
CMD ["pnpm", "dev"]