# Etapa base: Python oficial FROM python:3.10-slim as base # Variables de entorno para producción ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 # Instala dependencias del sistema (incluye lo necesario para mysqlclient) RUN apt-get update && apt-get install -y --no-install-recommends \ build-essential \ libgeos-dev \ libspatialindex-dev \ libproj-dev \ proj-data \ proj-bin \ gdal-bin \ libgdal-dev \ python3-dev \ pkg-config \ default-libmysqlclient-dev \ && rm -rf /var/lib/apt/lists/* # Crea directorio de trabajo WORKDIR /app # Copia requirements primero (mejor cacheo) COPY requirements.txt . # Instala dependencias Python RUN pip install --no-cache-dir -r requirements.txt # Copia el resto del proyecto COPY . . # Expone el puerto del contenedor EXPOSE 8000 # Comando por defecto para producción con Gunicorn CMD ["gunicorn", "polisplexity.wsgi:application", "--bind", "0.0.0.0:8000", "--workers=3", "--timeout=120"]