FROM ubuntu:18.04
# 更新套件清單
RUN apt-get -y update
# 安裝 systemctl
RUN apt-get install -y systemd
# 安裝 nginx & python3
ARG DEBIAN_FRONTEND=noninteractive

RUN apt-get install -y tzdata

RUN ln -fs /usr/share/zoneinfo/Europe/Stockholm /etc/localtime

RUN dpkg-reconfigure -f noninteractive tzdata

RUN apt-get install -y nginx python3-dev python3-pip python3-matplotlib python3-scipy
# 移除套件清單
RUN rm -rf /var/lib/apt/lists/*
# 更新 python3 套件清單
RUN pip3 install --upgrade pip
# 安裝 flask 套件
RUN pip3 install Flask-API flask flask-restful flask-cors flask-jwt-extended
# 安裝 jupyter & uwsgi & docker 套件
RUN pip3 install jupyter uwsgi docker
# 安裝其他套件
RUN pip3 install passlib pytz pypyodbc requests

RUN pip3 install influxdb
# 設定 Flask 編碼與時區
ENV LC_ALL=C.UTF-8 LANG=C.UTF-8 TZ=Asia/Taipei
# 設定 Flask Debug 模式參數
ENV FLASK_APP=run.py FLASK_DEBUG=1
# 修改 nginx 設定
RUN echo "server {" > /etc/nginx/sites-available/default

RUN echo "    listen 80;" >> /etc/nginx/sites-available/default

RUN echo "    server_name localhost;" >> /etc/nginx/sites-available/default

RUN echo "    charset utf-8;" >> /etc/nginx/sites-available/default

RUN echo "    access_log /notebooks/logs/nginx_access.log;" >> /etc/nginx/sites-available/default

RUN echo "    error_log /notebooks/logs/nginx_error.log;" >> /etc/nginx/sites-available/default

RUN echo "    client_max_body_size 20M;" >> /etc/nginx/sites-available/default

RUN echo "    location / {" >> /etc/nginx/sites-available/default

RUN echo "        include /etc/nginx/uwsgi_params;" >> /etc/nginx/sites-available/default

RUN echo "        uwsgi_pass unix:/notebooks/uwsgi.sock;" >> /etc/nginx/sites-available/default

RUN echo "    }" >> /etc/nginx/sites-available/default

RUN echo "}" >> /etc/nginx/sites-available/default

RUN apt-get -y  update

RUN apt-get -y install ffmpeg

RUN pip3 install -U flask-cors
# 設定工作執行目錄
VOLUME ["/notebooks"]

#COPY notebooks /notebooks

WORKDIR /notebooks
# 啟動伺服器
CMD service nginx start & uwsgi --ini /notebooks/uwsgi.ini
