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