Spaces:
Running
Running
# Use an official Python image | |
FROM nvidia/cuda:11.8.0-base-ubuntu22.04 | |
# Set up Python environment | |
ENV DEBIAN_FRONTEND=noninteractive | |
ENV PYTHONUNBUFFERED=1 | |
# Install system packages and Python 3.12 | |
RUN apt-get update && apt-get install -y \ | |
software-properties-common && \ | |
add-apt-repository ppa:deadsnakes/ppa && \ | |
apt-get update && apt-get install -y \ | |
python3.12 python3.12-venv python3.12-dev \ | |
wget git calibre ffmpeg libmecab-dev mecab mecab-ipadic python3-pip \ | |
&& apt-get clean && rm -rf /var/lib/apt/lists/* | |
# Make 'python' command work for Python 3.12 | |
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.12 1 && \ | |
update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.12 1 | |
# Install pip, setuptools, and wheel manually | |
RUN wget https://bootstrap.pypa.io/get-pip.py && \ | |
python get-pip.py && \ | |
rm get-pip.py && \ | |
pip install --no-cache-dir --upgrade pip setuptools wheel | |
# Explicitly install regex | |
RUN pip install --no-cache-dir regex --force-reinstall | |
# 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/app | |
# Clone the GitHub repository | |
RUN git clone https://github.com/DrewThomasson/ebook2audiobook.git /home/user/app | |
# Install Python dependencies | |
RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \ | |
pip install --no-cache-dir --use-pep517 -r requirements.txt | |
# Expose the application port | |
EXPOSE 7860 | |
# Start the Gradio app | |
CMD ["python", "app.py"] | |