FROM alpine:3.11
WORKDIR /app

COPY ./requirements.txt .

RUN apk --update --no-cache add python3 py3-pip py-gunicorn nginx mariadb-connector-c \
    && apk --update --no-cache add --virtual .build-deps \
        tzdata \
        # mysqlclient dependencies
        python3-dev \
		mariadb-connector-c-dev \
		gcc \
		musl-dev \
		# Pillow dependencies
        jpeg-dev \
        zlib-dev \
        freetype-dev \
        lcms2-dev \
        openjpeg-dev \
        tiff-dev \
        tk-dev \
        tcl-dev \
        harfbuzz-dev \
        fribidi-dev \
	&& pip3 install --upgrade pip setuptools gevent \
	&& mkdir -p /run/nginx \
    && pip3 install -r requirements.txt \
    && cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
    && echo "Asia/Shanghai" > /etc/timezone \
    && apk del .build-deps

COPY . .
RUN python3 manage.py collectstatic --noinput \
    && python3 manage.py compress --force

COPY ./docker-support/nginx.conf /etc/nginx/conf.d/default.conf

ENV DJANGO_DEBUG False
ENV DJANGO_SECRET_KEY DJANGO_BLOG_CHANGE_ME

ENV DJANGO_MYSQL_DATABASE djangoblog
ENV DJANGO_MYSQL_USER root
ENV DJANGO_MYSQL_PASSWORD djangoblog_123
ENV DJANGO_MYSQL_HOST 127.0.0.1
ENV DJANGO_MYSQL_PORT 3306

ENV DJANGO_MEMCACHED_ENABLE True
ENV DJANGO_MEMCACHED_LOCATION 127.0.0.1:11211

ENV DJANGO_BAIDU_NOTIFY_URL http://data.zz.baidu.com/urls?site=https://www.example.org&token=CHANGE_ME

ENV DJANGO_EMAIL_TLS False
ENV DJANGO_EMAIL_SSL True
ENV DJANGO_EMAIL_HOST smtp.example.org
ENV DJANGO_EMAIL_PORT 465
ENV DJANGO_EMAIL_USER SMTP_USER_CHANGE_ME
ENV DJANGO_EMAIL_PASSWORD SMTP_PASSWORD_CHANGE_ME

ENV DJANGO_ADMIN_EMAIL admin@example.org

ENV DJANGO_WXADMIN_PASSWORD DJANGO_BLOG_CHANGE_ME
ENV DJANGO_WEROBOT_TOKEN DJANGO_BLOG_CHANGE_ME

EXPOSE 80
ENTRYPOINT ["./docker-support/entrypoint.sh"]