# FROM python:3.12.9-alpine3.21 FROM python:3.12-slim # Set environment variables ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 # Set the working directory inside the container WORKDIR /app # Install system dependencies required for MySQL and other libraries RUN apt-get update && apt-get install -y git # default-libmysqlclient-dev \ # build-essential \ # && rm -rf /var/lib/apt/lists/* RUN mkdir files/ COPY files/requirements.txt files/requirements.txt RUN sleep 5 # Install Python dependencies RUN pip install --upgrade pip RUN pip install --no-cache-dir -r files/requirements.txt # Expose port 8080 for the FastAPI application # EXPOSE 8080 COPY . . RUN rm files/db.sqlite -f RUN /usr/local/bin/alembic -c alembic/alembic.ini upgrade head # Command to run the FastAPI application # CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8080"] CMD ["bash", "/app/scripts/run.sh"]