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"]