# Use the official Python image as the base image FROM python:3.11-slim # Set the working directory to /app WORKDIR /app ENV PYTHONPATH=/app # Install system dependencies RUN apt-get update && apt-get install -y \ gcc \ && rm -rf /var/lib/apt/lists/* # Copy requirements and install Python dependencies COPY pyproject.toml . RUN pip install --no-cache-dir build RUN pip install --no-cache-dir . # Install additional dependencies for demo.py RUN pip install --no-cache-dir \ uvicorn[standard]==0.29.0 \ python-multipart==0.0.9 \ httpx==0.27.0 \ opentelemetry-api==1.25.0 \ opentelemetry-sdk==1.25.0 \ opentelemetry-exporter-otlp-proto-grpc==1.25.0 \ opentelemetry-exporter-prometheus==1.25.0 \ opentelemetry-instrumentation-fastapi==0.46b0 \ opentelemetry-instrumentation-httpx==0.46b0 \ protobuf==4.25.3 # Copy the application code COPY ./amqp ./amqp COPY ./otdemo ./otdemo COPY ./demo.py . # Create directory for uploaded files RUN mkdir -p /tmp/clevermicro_documents # Expose the port EXPOSE 8000 8001 # Run the FastAPI application CMD ["uvicorn", "demo:app", "--host", "0.0.0.0", "--port", "8000"]