test_docker_poop / Dockerfile
drewThomasson's picture
Update Dockerfile
c7873bf verified
raw
history blame
1.58 kB
# 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"]