Spaces:
Running
Running
| FROM python:3.9-slim | |
| ENV PYTHONUNBUFFERED=1 \ | |
| PORT=7860 \ | |
| HF_HOME=/data/cache \ | |
| IS_BUILDING=true | |
| RUN apt-get update && \ | |
| apt-get install -y --no-install-recommends \ | |
| gcc \ | |
| python3-dev \ | |
| libffi-dev \ | |
| sqlite3 \ | |
| && rm -rf /var/lib/apt/lists/* | |
| RUN mkdir -p /data/cache && \ | |
| sqlite3 /data/news.db "VACUUM" && \ | |
| chmod -R 777 /data && \ | |
| sqlite3 /data/news.db "CREATE TABLE IF NOT EXISTS news (id INTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, source TEXT, published TEXT, url TEXT UNIQUE NOT NULL, summary TEXT, content TEXT, category TEXT, description TEXT, timestamp DATETIME DEFAULT CURRENT_TIMESTAMP); CREATE INDEX IF NOT EXISTS idx_published ON news (published DESC);" | |
| WORKDIR /app | |
| COPY requirements.txt . | |
| RUN pip install --no-cache-dir -U pip && \ | |
| pip install --no-cache-dir -r requirements.txt | |
| COPY . . | |
| EXPOSE 7860 | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \ | |
| CMD curl -f http://localhost:7860/health || exit 1 | |
| CMD ["gunicorn", "app:app", \ | |
| "--bind", "0.0.0.0:7860", \ | |
| "--workers", "2", \ | |
| "--threads", "1", \ | |
| "--timeout", "600", \ | |
| "--worker-class", "gevent"] |