Files
erp-efintel-2026-portainer/Dockerfile
T

33 lines
872 B
Docker

FROM python:3.12-slim
# Establecer variables de entorno
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
# Establecer directorio de trabajo
WORKDIR /app
# Instalar dependencias del sistema
RUN apt-get update && apt-get install -y \
build-essential \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*
# Instalar dependencias de Python
COPY requirements.txt /app/
RUN pip install --upgrade pip && pip install -r requirements.txt
# Copiar el proyecto
COPY . /app/
# Exponer el puerto
EXPOSE 8000
# Crear un usuario no-root por seguridad
RUN adduser --disabled-password --no-create-home djangouser
RUN chown -R djangouser:djangouser /app
USER djangouser
# Comando por defecto para iniciar Gunicorn con Uvicorn workers (Producción)
CMD ["gunicorn", "config.asgi:application", "-k", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:8000", "--workers", "3"]