Spaces:
Running
Running
# Use an official Python image with NVIDIA support | |
FROM nvidia/cuda:11.8.0-base-ubuntu22.04 | |
# Set environment variables for non-interactive mode | |
ENV DEBIAN_FRONTEND=noninteractive | |
ENV PYTHONUNBUFFERED=1 | |
# Install system packages | |
RUN apt-get update && apt-get install -y \ | |
wget git calibre ffmpeg libmecab-dev mecab mecab-ipadic python3-pip software-properties-common \ | |
&& add-apt-repository -y ppa:deadsnakes/ppa \ | |
&& apt-get install -y python3.12 python3.12-venv python3.12-distutils \ | |
&& apt-get clean && rm -rf /var/lib/apt/lists/* | |
# Update alternatives to use Python 3.12 | |
RUN update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 | |
# Create and switch to a non-root user | |
RUN useradd -m -u 1000 user | |
USER user | |
ENV PATH="/home/user/.local/bin:$PATH" | |
# Set working directory | |
WORKDIR /home/user/ebook2audiobook | |
# Clone the GitHub repository | |
RUN git clone https://github.com/DrewThomasson/ebook2audiobook.git /home/user/ebook2audiobook | |
# Install Python dependencies | |
RUN pip install --no-cache-dir --upgrade -r requirements.txt | |
# Expose the application port | |
EXPOSE 7860 | |
# Start the Gradio app | |
CMD ["python3", "app.py"] | |