brief-20/backend/Dockerfile
Avnyr 9f99b80784 feat: implement authentication and database modules with relations and group management
Added new authentication strategies (JWT and GitHub OAuth), guards, and controllers. Implemented database module, schema with relations, and group management features, including CRD operations and person-to-group associations. Integrated validation and CORS configuration.
2025-05-15 17:09:36 +02:00

36 lines
643 B
Docker

FROM node:20-alpine AS base
# Install pnpm
RUN npm install -g pnpm
# Set working directory
WORKDIR /app
# Copy package.json and install dependencies
FROM base AS dependencies
COPY package.json ./
RUN pnpm install
# Build the application
FROM dependencies AS build
COPY . .
RUN pnpm run build
# Production image
FROM node:20-alpine AS production
WORKDIR /app
# Copy built application
COPY --from=build /app/dist ./dist
COPY --from=build /app/node_modules ./node_modules
COPY package.json ./
# Set environment variables
ENV NODE_ENV=production
ENV PORT=3000
# Expose port
EXPOSE ${PORT}
# Start the application
CMD ["node", "dist/main"]