# Use Python 3.8 slim FROM python:3.8-slim WORKDIR /app # 2) Install Rasa 2.8.3 from source (patch typing-extensions) RUN pip install --no-cache-dir 'protobuf<3.20.0' rasa==2.8.3 rasa-sdk==2.8.3 # 7) Copy in your Rasa project COPY domain.yml config.yml endpoints.yml /app/ COPY data /app/data COPY actions /app/actions COPY custom_components /app/custom_components # 9) Train your model (writes into /app/models) RUN rasa train # 10) Install Gradio v4 + HTTP client COPY requirements.txt /app/requirements.txt RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir numpy==1.19.5 RUN pip show numpy # 11) Copy your Gradio wrapper COPY app.py /app/app.py # 12) Expose ports (actions, Rasa API, Gradio UI) EXPOSE 5055 5005 7860 # 13) Launch everything: action server, Rasa REST API, then Gradio ENTRYPOINT ["bash","-lc","rasa run actions & rasa run --enable-api --port 5005 & python app.py"]