Add Docker deployment config and production CORS
- Dockerfile with multi-stage build (builder + production) - docker-compose.yml for EC2 deployment with SSH localhost - Add status.eventifyplus.com to CORS origins Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
40
Dockerfile
Normal file
40
Dockerfile
Normal file
@@ -0,0 +1,40 @@
|
||||
FROM node:20-alpine AS builder
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy root package files
|
||||
COPY package.json package-lock.json ./
|
||||
COPY server/package.json server/
|
||||
COPY client/package.json client/
|
||||
|
||||
# Install all dependencies
|
||||
RUN npm ci
|
||||
|
||||
# Copy source code
|
||||
COPY server/ server/
|
||||
COPY client/ client/
|
||||
|
||||
# Build frontend
|
||||
RUN npm run --workspace=client build
|
||||
|
||||
# Production stage
|
||||
FROM node:20-alpine
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
# Copy root package files and lockfile
|
||||
COPY package.json package-lock.json ./
|
||||
COPY server/package.json server/
|
||||
|
||||
# Install all server deps (tsx is in devDependencies but needed to run)
|
||||
RUN npm ci --workspace=server
|
||||
|
||||
# Copy server source
|
||||
COPY server/ server/
|
||||
|
||||
# Copy built frontend
|
||||
COPY --from=builder /app/client/dist client/dist
|
||||
|
||||
EXPOSE 3002
|
||||
|
||||
CMD ["npm", "run", "--workspace=server", "start"]
|
||||
Reference in New Issue
Block a user