test_docker_poop / Dockerfile
drewThomasson's picture
Update Dockerfile
330e3e3 verified
raw
history blame
1.45 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 and setuptools manually
RUN wget https://bootstrap.pypa.io/get-pip.py && \
python get-pip.py && \
rm get-pip.py && \
pip install --no-cache-dir --upgrade setuptools wheel
# 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 && pip install --no-cache-dir -r requirements.txt
# Expose the application port
EXPOSE 7860
# Start the Gradio app
CMD ["python", "app.py"]