FROM python:3.11-slim # Install system dependencies RUN apt-get update && apt-get install -y \ curl \ build-essential \ && rm -rf /var/lib/apt/lists/* # Install Node.js RUN curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && \ apt-get install -y nodejs && \ apt-get clean WORKDIR /app # Copy and install Python dependencies (using regular pip - simpler for Docker) COPY requirements.txt . RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir \ fastapi \ uvicorn[standard] \ pydantic \ aiohttp \ aiosqlite \ pyyaml \ bleak \ requests # Copy backend and simulator COPY backend backend/ COPY simulator simulator/ # Copy and build frontends COPY frontend/dashboard frontend/dashboard/ WORKDIR /app/frontend/dashboard RUN npm install && npm run build COPY frontend/kiosk /app/frontend/kiosk WORKDIR /app/frontend/kiosk RUN npm install && npm run build WORKDIR /app # Expose ports EXPOSE 8000 5173 5174 # Start script COPY docker-start.sh . RUN chmod +x docker-start.sh CMD ["./docker-start.sh"]