Files
resolutionflow/frontend/Dockerfile
Michael Chihlas c2c126d0cd Fix frontend nginx to use Railway PORT variable
- Use envsubst to inject PORT at runtime
- Template nginx.conf with ${PORT} placeholder

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-31 23:29:05 -05:00

37 lines
818 B
Docker

# Build stage
FROM node:20-alpine AS builder
WORKDIR /app
# Copy package files
COPY package*.json ./
# Install dependencies
RUN npm ci
# Copy source code
COPY . .
# Build argument for API URL (set at build time)
ARG VITE_API_URL
ENV VITE_API_URL=$VITE_API_URL
# Build the application
RUN npm run build
# Production stage
FROM nginx:alpine
# Copy custom nginx config template
COPY nginx.conf /etc/nginx/templates/default.conf.template
# Copy built files from builder stage
COPY --from=builder /app/dist /usr/share/nginx/html
# Railway uses PORT env variable (default to 80 for local)
ENV PORT=80
EXPOSE 80
# Use envsubst to replace ${PORT} in nginx config, then start nginx
CMD sh -c "envsubst '\$PORT' < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"