Spaces:
Running
Running
| # Temel imaj | |
| FROM python:3.10-slim | |
| # Çalışma dizinini oluştur | |
| WORKDIR /app | |
| # Gereksinim dosyalarını kopyala | |
| COPY requirements.txt . | |
| # Gerekli sistem kütüphanelerini yükle (Trixie uyumlu) | |
| RUN apt-get update && apt-get install -y \ | |
| libgl1 \ | |
| libglib2.0-0 \ | |
| ffmpeg \ | |
| libsndfile1 \ | |
| build-essential \ | |
| libsm6 \ | |
| libxext6 \ | |
| libxrender-dev \ | |
| && apt-get clean && rm -rf /var/lib/apt/lists/* | |
| # Gereksinimleri yükle | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Non-root kullanıcı oluştur | |
| RUN useradd -m -u 1000 user | |
| # Ortam değişkenlerini ayarla | |
| ENV HOME=/home/user \ | |
| PATH=/home/user/.local/bin:$PATH | |
| # Gerekli dizinleri oluştur ve izinleri ayarla | |
| RUN mkdir -p /home/user/.cache/torch/hub/checkpoints && chown -R user:user /home/user/.cache | |
| RUN mkdir -p /tmp/uploads && chmod -R 777 /tmp/uploads | |
| RUN mkdir -p /home/user/app/cache && chown -R user:user /home/user/app/cache | |
| RUN mkdir -p /tmp/cache && chmod 777 /tmp/cache | |
| RUN mkdir -p /home/user/.local && chown -R user:user /home/user/.local | |
| RUN mkdir -p /home/user/app/models && chown -R user:user /home/user/app/models | |
| RUN mkdir -p /home/user/.paddleocr && chown -R user:user /home/user/.paddleocr | |
| RUN mkdir -p /home/user/app/cache/matplotlib && chown -R user:user /home/user/app/cache/matplotlib | |
| RUN mkdir -p /home/user/.local/cache && chown -R user:user /home/user/.local/cache | |
| RUN mkdir -p /home/user/.local/config && chown -R user:user /home/user/.local/config | |
| # Ortam değişkenleri | |
| ENV MPLCONFIGDIR=/home/user/app/cache/matplotlib | |
| ENV PADDLE_HOME=/home/user/.paddleocr | |
| ENV PADDLEOCR_HOME=/home/user/.paddleocr | |
| ENV TORCH_HOME=/home/user/app/cache | |
| ENV NUMBA_CACHE_DIR=/tmp/uploads | |
| ENV XDG_CACHE_HOME=/home/user/.local/cache | |
| ENV XDG_CONFIG_HOME=/home/user/.local/config | |
| ENV TTS_MODEL_PATH=/home/user/app/models | |
| # Uygulama dosyalarını kopyala | |
| COPY --chown=user . /home/user/app | |
| # Çalışma dizinini ayarla | |
| WORKDIR /home/user/app | |
| # Non-root kullanıcıya geç | |
| USER user | |
| # Portu aç | |
| EXPOSE 7860 | |
| # Uygulamayı başlat | |
| CMD ["python", "app.py"] | |