SSE connections for radio streams were blocking sync gunicorn workers, leaving the app unresponsive. Switching to gevent with 4 workers and a higher timeout fixes concurrent SSE + normal request handling. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
18 lines
484 B
Docker
18 lines
484 B
Docker
FROM python:3.12-slim
|
|
|
|
WORKDIR /app
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
gcc \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt gunicorn
|
|
|
|
COPY . .
|
|
|
|
RUN python manage.py collectstatic --noinput && mkdir -p /app/data
|
|
|
|
EXPOSE 8000
|
|
|
|
CMD ["sh", "-c", "python manage.py migrate --noinput && gunicorn diora.wsgi:application --bind 0.0.0.0:8000 --workers 4 --worker-class gevent --timeout 120"]
|