Some checks failed
CI/CD Pipeline / Run Tests (push) Has been cancelled
CI/CD Pipeline / Security Scanning (push) Has been cancelled
CI/CD Pipeline / Build and Push Docker Images (api) (push) Has been cancelled
CI/CD Pipeline / Build and Push Docker Images (chat) (push) Has been cancelled
CI/CD Pipeline / Build and Push Docker Images (frontend) (push) Has been cancelled
CI/CD Pipeline / Build and Push Docker Images (worker) (push) Has been cancelled
CI/CD Pipeline / Deploy to Staging (push) Has been cancelled
CI/CD Pipeline / Deploy to Production (push) Has been cancelled
CI/CD Pipeline / Lint Code (push) Has started running
CI/CD Pipeline / Generate Documentation (push) Has started running
- Fix Socket.IO proxy configuration in nginx for chat connectivity - Add Socket.IO path routing (/socket.io/) with WebSocket upgrade support - Fix frontend healthcheck to use curl instead of wget - Add react-markdown and remark-gfm for proper markdown rendering - Implement language selector in chat interface (8 languages supported) - Add language parameter to chat agent and LLM prompts - Support English, Italian, Spanish, French, German, Portuguese, Chinese, Japanese This resolves the chat connection issues and enables users to receive AI responses in their preferred language with properly formatted markdown. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
42 lines
925 B
Docker
42 lines
925 B
Docker
# Dockerfile for React Frontend
|
|
# Build stage
|
|
FROM node:20-alpine as builder
|
|
|
|
WORKDIR /build
|
|
|
|
# Copy package files
|
|
COPY frontend/package*.json ./
|
|
|
|
# Install dependencies
|
|
RUN npm install
|
|
|
|
# Copy frontend source code
|
|
COPY frontend/src ./src
|
|
COPY frontend/index.html ./
|
|
COPY frontend/vite.config.js ./
|
|
|
|
# Build the frontend
|
|
RUN npm run build
|
|
|
|
# Production stage with nginx
|
|
FROM nginx:alpine
|
|
|
|
LABEL maintainer="automation-team@company.com"
|
|
LABEL description="Datacenter Documentation Frontend"
|
|
|
|
# Copy built assets from builder
|
|
COPY --from=builder /build/dist /usr/share/nginx/html
|
|
|
|
# Copy nginx configuration
|
|
COPY deploy/docker/nginx.conf /etc/nginx/conf.d/default.conf
|
|
|
|
# Expose port
|
|
EXPOSE 80
|
|
|
|
# Health check (use curl which is available in nginx:alpine)
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD curl -f http://127.0.0.1/health || exit 1
|
|
|
|
# Run nginx
|
|
CMD ["nginx", "-g", "daemon off;"]
|