# Use official Python 3.9 image FROM python:3.9 # Set working directory to /app (root of the repository) WORKDIR /app # Copy requirements file COPY ./requirements.txt /app/requirements.txt # Install dependencies from requirements.txt only RUN pip install --no-cache-dir --upgrade -r requirements.txt # Copy the entire project including schemas and questions COPY . /app # Create user, directory, and log file with proper ownership in one step RUN useradd -m -u 1000 user && \ mkdir -p /home/user && \ touch /home/user/app.log && \ chown user:user /home/user/app.log USER user ENV HOME=/home/user \ PATH=/home/user/.local/bin:$PATH # Expose port EXPOSE 7860 # Command to run the app with debug logging CMD ["sh", "-c", "uvicorn app.main:app --host 0.0.0.0 --port 7860 --log-level debug --log-config log_config.json --access-log"]