Spaces:
Running
Running
Download Dockerfile from Rthur2003/crowncode-backend: direct link, hf CLI and curl.
- Browser
- Download file 2.53 kB
-
https://huggingface.co/spaces/Rthur2003/crowncode-backend/resolve/main/Dockerfile
- Command line
-
hf download hf://spaces/Rthur2003/crowncode-backend/Dockerfile
-
curl -L -o Dockerfile https://huggingface.co/spaces/Rthur2003/crowncode-backend/resolve/main/Dockerfile
2.53 kB
| # ============================================ | |
| # CrownCode Backend - Hugging Face Spaces | |
| # ============================================ | |
| # SDK: Docker | Hardware: CPU Basic (Free) | |
| # ============================================ | |
| # Python 3.11 slim imajını kullan | |
| FROM python:3.11-slim | |
| # Çalışma dizini | |
| WORKDIR /app | |
| # Ortam değişkenleri | |
| ENV PYTHONDONTWRITEBYTECODE=1 \ | |
| PYTHONUNBUFFERED=1 \ | |
| PIP_NO_CACHE_DIR=1 \ | |
| PIP_DISABLE_PIP_VERSION_CHECK=1 \ | |
| TRANSFORMERS_CACHE=/app/.cache/huggingface \ | |
| HF_HOME=/app/.cache/huggingface \ | |
| TORCH_HOME=/app/.cache/torch | |
| # Sistem bağımlılıkları + FFmpeg | |
| RUN apt-get update && apt-get install -y --no-install-recommends \ | |
| ffmpeg \ | |
| libsndfile1 \ | |
| git \ | |
| curl \ | |
| && apt-get clean \ | |
| && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* | |
| # Cache dizinleri | |
| RUN mkdir -p /app/.cache/huggingface /app/.cache/torch \ | |
| && chmod -R 777 /app/.cache | |
| # Requirements (önce kopyala - Docker cache için) | |
| COPY requirements.txt . | |
| # PyTorch CPU versiyonu + diğer paketler | |
| RUN pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu \ | |
| && pip install --no-cache-dir -r requirements.txt \ | |
| && pip install --no-cache-dir "huggingface-hub>=0.20.0" | |
| # Hugging Face Spaces için non-root kullanıcı (güvenlik) | |
| RUN useradd -m -u 1000 user \ | |
| && mkdir -p /app/models \ | |
| && chown -R user:user /app | |
| USER user | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH \ | |
| AURIS_MODELS_REPO=Rthur2003/auris-models \ | |
| MODELS_DIR=/app/models \ | |
| AURIS_WARMUP=1 \ | |
| NUMBA_CACHE_DIR=/tmp/numba-cache | |
| # Model ağırlıkları imaja gömülür: Space uykudan her uyandığında ~415 MB | |
| # AURIS modelini ve wav2vec2-base'i yeniden indirmek yerine hazır bulur. | |
| # Kod değişince bu katmanlar önbellekten gelir (yalnızca startup.py değişirse yeniden iner). | |
| COPY --chown=user:user startup.py . | |
| RUN python startup.py \ | |
| && python -c "from transformers import Wav2Vec2Model; Wav2Vec2Model.from_pretrained('facebook/wav2vec2-base')" | |
| # Uygulama kodu | |
| COPY --chown=user:user app ./app | |
| # Hugging Face Spaces varsayılan port: 7860 | |
| EXPOSE 7860 | |
| # Health check — modeller imajda, açılış kısa | |
| HEALTHCHECK --interval=30s --timeout=10s --start-period=90s --retries=5 \ | |
| CMD curl -f http://localhost:7860/api/health || exit 1 | |
| # startup.py dosyalar mevcutsa hiçbir şey indirmez; eksik kalan olursa tamamlar. | |
| CMD ["sh", "-c", "python startup.py && uvicorn app.main:app --host 0.0.0.0 --port 7860"] | |