Files

46 lines
967 B
Docker
Raw Permalink Normal View History

FROM node:20-slim
WORKDIR /app
# Install system dependencies
RUN apt-get update && apt-get install -y \
wget \
curl \
&& rm -rf /var/lib/apt/lists/*
# Copy package files first
COPY frontend/package*.json ./
# Copy frontend source code
COPY frontend/ .
RUN npm install
# Create startup script in /usr/local/bin
RUN echo '#!/bin/bash\n\
echo "Waiting for backend..."\n\
until curl -f http://backend:8000/health; do\n\
echo "Backend not ready - sleeping"\n\
sleep 5\n\
done\n\
\n\
echo "Backend is ready - building widget and webclient"\n\
cd /app && npm run build:widgetdocker\n\
cd /app && npm run build:webclient\n\
\n\
echo "Starting frontend development server"\n\
cd /app && npm run dev -- --host 0.0.0.0 --port 3000' > /usr/local/bin/start.sh
# Make startup script executable
RUN chmod +x /usr/local/bin/start.sh
# Expose port
EXPOSE 3000
# Start the application in development mode
CMD ["/bin/bash", "/usr/local/bin/start.sh"]