eligapris commited on
Commit
6ef135b
·
verified ·
1 Parent(s): a3c4558

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +8 -28
Dockerfile CHANGED
@@ -1,40 +1,20 @@
1
- FROM python:3.9
2
 
3
- # Install system dependencies
4
- RUN apt-get update && apt-get install -y \
5
- build-essential \
6
- wget \
7
- && rm -rf /var/lib/apt/lists/*
8
 
9
- # Download and install TA-Lib C library
10
- RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz && \
11
- tar -xzf ta-lib-0.4.0-src.tar.gz && \
12
- cd ta-lib && \
13
- ./configure --prefix=/usr/local && \
14
- make && \
15
- make install && \
16
- cd .. && \
17
- rm -rf ta-lib ta-lib-0.4.0-src.tar.gz
18
-
19
- # Set environment so linker can find ta-lib
20
- ENV LD_LIBRARY_PATH=/usr/local/lib
21
- ENV CFLAGS="-I/usr/local/include"
22
- ENV LDFLAGS="-L/usr/local/lib"
23
 
24
  # Set working directory
25
  WORKDIR /app
26
 
27
- # Install Python dependencies
28
- RUN pip install --upgrade pip
29
- RUN pip install numpy==1.26.4
30
- RUN pip install TA-Lib==0.4.28 # latest version known to work well
31
- RUN pip install fastapi==0.104.1 uvicorn[standard]==0.24.0 pydantic==2.5.0 yfinance==0.2.28 requests==2.31.0
32
-
33
  # Copy application code
34
  COPY . .
35
 
36
  # Expose port
37
  EXPOSE 8000
38
 
39
- # Run the application
40
- CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
 
1
+ FROM continuumio/miniconda3
2
 
3
+ # Create a conda environment and install TA-Lib and other packages
4
+ RUN conda create -n appenv python=3.9 -y && \
5
+ conda install -n appenv -c conda-forge ta-lib fastapi=0.104.1 uvicorn=0.24.0 pydantic=2.5.0 yfinance=0.2.28 requests=2.31.0 -y
 
 
6
 
7
+ # Activate environment
8
+ SHELL ["conda", "run", "-n", "appenv", "/bin/bash", "-c"]
 
 
 
 
 
 
 
 
 
 
 
 
9
 
10
  # Set working directory
11
  WORKDIR /app
12
 
 
 
 
 
 
 
13
  # Copy application code
14
  COPY . .
15
 
16
  # Expose port
17
  EXPOSE 8000
18
 
19
+ # Run the app
20
+ CMD ["conda", "run", "-n", "appenv", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]