unreal-chat/apps/web/Dockerfile
Juan Sebastian Montoya 1e5a035d33 chore: update environment configuration and deployment scripts
- Added production environment variables to docker-compose.yml
- Updated Dockerfile for API and web to use Turbo build commands
- Modified turbo.json to include new environment variables
- Updated API index.ts to use new environment configuration
- Updated README.md with correct API port
- Added start:api script to package.json
- Improved deployment and configuration management
2025-03-06 23:08:10 -05:00

44 lines
No EOL
933 B
Docker

FROM node:22-alpine AS base
# Install dependencies only when needed
FROM base AS deps
WORKDIR /app
# Copy package files
COPY package.json package-lock.json* ./
COPY apps/web/package.json ./apps/web/package.json
# Install dependencies
RUN npm ci
# Rebuild the source code only when needed
FROM base AS builder
WORKDIR /app
COPY --from=deps /app/node_modules ./node_modules
COPY . .
# Build the project
ARG NODE_ENV
ARG VITE_API_URL
ARG VITE_WS_URL
RUN npx turbo run build --filter=web
# Production image, copy all the files and run the server
FROM base AS runner
WORKDIR /app
ENV NODE_ENV production
# Copy necessary files
COPY --from=builder /app/apps/web/dist ./dist
COPY --from=builder /app/apps/web/package.json ./package.json
COPY --from=builder /app/node_modules ./node_modules
# Install serve to run the application
RUN npm install -g serve
# Expose the port
EXPOSE 5173
# Start the server
CMD serve -s dist -l 5173