screener-saham-demo / Dockerfile
gstdl's picture
Update Dockerfile
b70ff15
#Grab python=3.9-slim-buster image
FROM python:3.9-slim-buster
# Copy code to container
COPY app /app
# RUN apt-get update
RUN apt-get update && apt-get install -y gcc bzip2 libc-dev g++ libc6 libc6-dev dpkg-dev build-essential wget libpython3-dev python3-dev python3-pip gcc sudo
# openldap-dev libffi-dev jpeg-dev zlib-dev libmemcached-dev ibxml2 libxslt libxslt-dev
# TA-Lib
# RUN wget http://prdownloads.sourceforge.net/ta-lib/ta-lib-0.4.0-src.tar.gz
COPY ta-lib-0.4.0-src.tar.gz ta-lib-0.4.0-src.tar.gz
RUN tar -xvzf ta-lib-0.4.0-src.tar.gz && \
cd ta-lib/ && \
./configure --prefix=/usr --build=aarch64-unknown-linux-gnu && \
sudo make && \
sudo make install && \
cd ..
RUN rm -R ta-lib ta-lib-0.4.0-src.tar.gz
# Copy requirements to container
COPY app/requirements.txt /app/requirements.txt
# Move working directory
WORKDIR /app
# Install python depencies
RUN pip3 install --upgrade pip && pip3 install --no-cache-dir -q -r requirements.txt
# Copy code to container
COPY app /app
# Give container write permission to sqlite db
RUN sudo chmod 774 /app/dataset/ihsg.db
# Update database
RUN python3 update_database.py
# Expose port 5000
EXPOSE 5000
# # Run the image as a non-root user
# RUN adduser myuser
# USER myuser
# Run the app on port 5000
CMD gunicorn --bind 0.0.0.0:5000 app:app