You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.1 KiB
70 lines
2.1 KiB
FROM alpine:3.11
|
|
WORKDIR /app
|
|
|
|
COPY ./requirements.txt .
|
|
|
|
RUN echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.11/main" > /etc/apk/repositories \
|
|
&& echo "https://mirror.tuna.tsinghua.edu.cn/alpine/v3.11/community" >> /etc/apk/repositories \
|
|
&& echo "https://mirror.tuna.tsinghua.edu.cn/alpine/edge/testing" >> /etc/apk/repositories
|
|
|
|
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 \
|
|
&& mkdir -p /run/nginx \
|
|
&& pip3 install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple \
|
|
&& 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 ["sh","./docker-support/entrypoint.sh"]
|