drewThomasson commited on
Commit
1408b64
·
verified ·
1 Parent(s): 95833ca

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +33 -31
Dockerfile CHANGED
@@ -1,43 +1,45 @@
1
- # Use an official CUDA base image
2
- FROM nvidia/cuda:11.8.0-base-ubuntu22.04
3
-
4
- # Set up environment variables
5
- ENV DEBIAN_FRONTEND=noninteractive
6
- ENV PYTHONUNBUFFERED=1
7
- ENV PATH="/opt/conda/bin:$PATH"
8
-
9
- # Install system packages and Miniconda
10
- RUN apt-get update && apt-get install -y \
11
- wget git calibre ffmpeg libmecab-dev mecab mecab-ipadic \
12
- && apt-get clean && rm -rf /var/lib/apt/lists/* && \
13
- wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh && \
14
- bash miniconda.sh -b -p /opt/conda && \
15
- rm miniconda.sh && \
16
- /opt/conda/bin/conda clean --all --yes
17
-
18
- # Create and activate the Python 3.12 environment
19
- RUN conda create -y -n py312 python=3.12 && \
20
- conda clean -a
21
 
22
  # Create and switch to a non-root user
23
  RUN useradd -m -u 1000 user
24
  USER user
 
25
 
26
- # Activate the Conda environment
27
- SHELL ["conda", "run", "-n", "py312", "/bin/bash", "-c"]
28
 
29
- # Clone the GitHub repository
30
- RUN git clone https://github.com/DrewThomasson/ebook2audiobook.git /home/user/app
 
 
 
 
31
 
32
- # Set the working directory
 
 
 
 
 
 
33
  WORKDIR /home/user/app
34
 
35
- # Install Python dependencies using requirements.txt
36
- RUN pip install --no-cache-dir --upgrade pip setuptools wheel && \
37
- pip install --no-cache-dir -r requirements.txt
 
 
 
 
38
 
39
- # Expose the application port
40
  EXPOSE 7860
41
 
42
- # Start the Gradio app
43
- CMD ["conda", "run", "-n", "py312", "python", "app.py"]
 
1
+ # Read the doc: https://huggingface.co/docs/hub/spaces-sdks-docker
2
+ # you will also find guides on how best to write your Dockerfile
3
+
4
+ # Build with the command:
5
+ # docker build --platform linux/amd64 -t ebook2audiobook .
6
+
7
+ FROM python:3.12
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  # Create and switch to a non-root user
10
  RUN useradd -m -u 1000 user
11
  USER user
12
+ ENV PATH="/home/user/.local/bin:$PATH"
13
 
14
+ # Set a working directory for temporary operations
15
+ WORKDIR /app
16
 
17
+ # Install system packages
18
+ USER root
19
+ RUN apt-get update && \
20
+ apt-get install -y wget git calibre ffmpeg libmecab-dev mecab mecab-ipadic && \
21
+ apt-get clean && \
22
+ rm -rf /var/lib/apt/lists/*
23
 
24
+ # Clone the GitHub repository and set it as the working directory
25
+ USER root
26
+ RUN apt-get update && apt-get install -y git && apt-get clean && rm -rf /var/lib/apt/lists/*
27
+ USER user
28
+ RUN git clone https://github.com/ROBERT-MCDOWELL/ebook2audiobook.git /home/user/app
29
+
30
+ # Set the cloned repository as the base working directory
31
  WORKDIR /home/user/app
32
 
33
+ #Install Python dependences from the ebook2audiobook repo
34
+ RUN pip install --no-cache-dir --upgrade -r requirements.txt
35
+
36
+ # Do a test run to make sure that the base models are pre-downloaded and baked into the image
37
+ #RUN echo "This is a test sentence." > test.txt
38
+ #RUN python app.py --headless --ebook test.txt
39
+ #RUN rm test.txt
40
 
41
+ # Expose the required port
42
  EXPOSE 7860
43
 
44
+ # Start the Gradio app from the repository
45
+ CMD ["python", "app.py"]