Enterwar99's picture
Update Dockerfile
ce9ab3b verified
FROM python:3.10-slim
WORKDIR /app
COPY requirements_api_space.txt .
RUN apt-get update && apt-get install -y --no-install-recommends libgl1 libglib2.0-0 && \
pip install --upgrade pip && \
pip install --no-cache-dir -r requirements_api_space.txt && \
apt-get clean && \
rm -rf /var/lib/apt/lists/*
COPY api_app.py .
# Możesz skopiować inne potrzebne pliki, jeśli są
# Create cache directories and set appropriate permissions
RUN mkdir -p /app/.cache/matplotlib /app/.hf_cache && \
chmod -R 777 /app/.cache /app/.hf_cache
# Port, na którym FastAPI będzie nasłuchiwać (domyślnie 8000 dla Uvicorn)
# Hugging Face Spaces automatycznie mapuje port 7860, ale Uvicorn domyślnie używa 8000.
# Możemy to dostosować w poleceniu CMD lub pozwolić HF na mapowanie.
# Dla szablonu FastAPI, HF Spaces często oczekuje, że aplikacja działa na porcie 7860.
# Sprawdź dokumentację szablonu lub dostosuj CMD.
# Uvicorn domyślnie uruchamia się na porcie 8000.
# Możemy to zmienić na 7860, jeśli HF Spaces tego wymaga dla automatycznego wykrywania.
ENV PORT 7860
# Ustawienie katalogu konfiguracyjnego dla Matplotlib na zapisywalną ścieżkę
ENV MPLCONFIGDIR /app/.cache/matplotlib
# Ustawienie katalogu domowego dla Hugging Face Hub na zapisywalną ścieżkę wewnątrz /app
# To spowoduje, że .cache/huggingface będzie tworzone w /app/.hf_cache/huggingface
ENV HF_HOME /app/.hf_cache
EXPOSE 7860
CMD ["uvicorn", "api_app:app", "--host", "0.0.0.0", "--port", "7860"]