# syntax=docker/dockerfile:1 # Comments are provided throughout this file to help you get started. # If you need more help, visit the Dockerfile reference guide at # https://docs.docker.com/engine/reference/builder/ ARG PYTHON_VERSION=3.8 FROM python:${PYTHON_VERSION}-slim as base # Copy the requirements file into the container. COPY requirements.txt . # Install the dependencies from the requirements file. RUN python -m pip install --no-cache-dir -r requirements.txt # Prevents Python from writing pyc files. ENV PYTHONDONTWRITEBYTECODE=1 # Keeps Python from buffering stdout and stderr to avoid situations where # the application crashes without emitting any logs due to buffering. ENV PYTHONUNBUFFERED=1 WORKDIR /app # Copy the source code into the container. COPY . . # Create a non-privileged user that the app will run under. # See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#user # Switch to the non-privileged user to run the application. # Run the Python script to generate the FAISS index and save the model. RUN python create_faiss_index.py USER 1001 ENTRYPOINT [ "rasa" ] # Expose the port that the application listens on. EXPOSE 7860 # Get secret openai and mount it RUN --mount=type=secret,id=openai,mode=0444,required=true # To specify model path CMD ["run","actions","--port","7860"]