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