Spaces:
Sleeping
Sleeping
File size: 1,329 Bytes
3117187 4278031 f4fd0b5 1bb48d8 f4fd0b5 6778b36 f4fd0b5 1bb48d8 3117187 4278031 6778b36 4278031 6778b36 4278031 aa8694c 3117187 4278031 3117187 4278031 3117187 4278031 f4fd0b5 4278031 3117187 4278031 90eb14c 4278031 3117187 4278031 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
FROM python:3.9-slim
# Create a non-root user
RUN useradd -m -u 1000 appuser
# Install system dependencies
RUN apt-get update && apt-get install -y \
build-essential \
gcc \
g++ \
espeak-ng \
git \
libsndfile1 \
curl \
libssl-dev \
libffi-dev \
openssl
# Configure environment
ENV PYTHONUNBUFFERED=1 \
HF_HOME=/home/appuser/cache \
PYTHONPATH="/app"
# Create necessary directories and set permissions
RUN mkdir -p /app /home/appuser/cache /home/appuser/.local /home/appuser/.config/pulse && \
chown -R appuser:appuser /app /home/appuser/cache /home/appuser/.local /home/appuser/.config && \
chmod -R 755 /app /home/appuser/cache /home/appuser/.local /home/appuser/.config
WORKDIR /app
# Copy requirements first for better caching
COPY requirements.txt .
RUN chown appuser:appuser requirements.txt
# Switch to non-root user
USER appuser
# Install Python dependencies
RUN pip install --user --upgrade pip setuptools wheel && \
pip install --user --no-cache-dir -r requirements.txt
# Install misaki from source (with data files)
RUN pip install --user git+https://github.com/hexgrad/misaki.git --no-cache-dir
# Copy application code
COPY --chown=appuser:appuser . .
# Run FastAPI
CMD ["python", "-m", "uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |