FROM python:3.11-slim WORKDIR /code # ---- system deps ---- RUN apt-get update && apt-get install -y --no-install-recommends \ curl ca-certificates git \ && rm -rf /var/lib/apt/lists/* # ---- Node 22 + npm (for openclaw) ---- RUN curl -fsSL https://deb.nodesource.com/setup_22.x | bash - \ && apt-get update && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* # Install OpenClaw globally RUN npm install -g openclaw@latest # ---- python deps ---- COPY requirements.txt /code/requirements.txt RUN pip install --no-cache-dir -r /code/requirements.txt # ---- app ---- COPY app /code/app ENV PORT=7860 EXPOSE 7860 CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860"]