|
|
|
|
@ -1,4 +1,5 @@ |
|
|
|
|
FROM alpine:latest |
|
|
|
|
FROM python:3.6 |
|
|
|
|
ENV PYTHONUNBUFFERED 1 |
|
|
|
|
|
|
|
|
|
ENV NGINX_VERSION="1.13.2" \ |
|
|
|
|
NGINX_OPTS="--with-http_ssl_module \ |
|
|
|
|
@ -12,74 +13,50 @@ ENV NGINX_VERSION="1.13.2" \ |
|
|
|
|
--user=nginx \ |
|
|
|
|
--group=nginx \ |
|
|
|
|
--add-module=/tmp/modules/nginx_requestid-master" |
|
|
|
|
COPY requirements /opt/app/requirements |
|
|
|
|
|
|
|
|
|
RUN apk update && apk add --update --no-cache --progress \ |
|
|
|
|
make \ |
|
|
|
|
pcre \ |
|
|
|
|
zlib \ |
|
|
|
|
libpq \ |
|
|
|
|
openssl \ |
|
|
|
|
ca-certificates \ |
|
|
|
|
python3 \ |
|
|
|
|
libxml2-dev \ |
|
|
|
|
libxslt-dev \ |
|
|
|
|
libmagic \ |
|
|
|
|
ghostscript \ |
|
|
|
|
postgresql-dev \ |
|
|
|
|
supervisor \ |
|
|
|
|
libmemcached-dev \ |
|
|
|
|
cyrus-sasl-dev \ |
|
|
|
|
jpeg libpng freetype \ |
|
|
|
|
bash bash-completion \ |
|
|
|
|
gettext-dev \ |
|
|
|
|
|
|
|
|
|
&& apk add --no-cache --virtual=.build-dependencies \ |
|
|
|
|
musl-dev \ |
|
|
|
|
build-base \ |
|
|
|
|
ncurses-dev \ |
|
|
|
|
pcre-dev \ |
|
|
|
|
zlib-dev jpeg-dev libpng-dev freetype-dev \ |
|
|
|
|
tiff-dev lcms2-dev libwebp-dev tcl-dev tk-dev \ |
|
|
|
|
libffi-dev \ |
|
|
|
|
COPY requirements /opt/app/requirements |
|
|
|
|
RUN apt-get update -y && \ |
|
|
|
|
apt-get upgrade -y && \ |
|
|
|
|
apt-get -y install ghostscript \ |
|
|
|
|
libfreetype6-dev \ |
|
|
|
|
python3-dev \ |
|
|
|
|
|
|
|
|
|
&& python3 -m ensurepip \ |
|
|
|
|
&& rm -r /usr/lib/python*/ensurepip \ |
|
|
|
|
&& pip3 install --upgrade pip setuptools \ |
|
|
|
|
&& pip3 install --no-cache-dir -r /opt/app/requirements/production.txt \ |
|
|
|
|
supervisor \ |
|
|
|
|
git-core \ |
|
|
|
|
make && \ |
|
|
|
|
apt-get clean && \ |
|
|
|
|
|
|
|
|
|
# Add nginx group and user |
|
|
|
|
&& addgroup -S nginx \ |
|
|
|
|
&& adduser -S nginx -G nginx \ |
|
|
|
|
# Download additional nginx modules |
|
|
|
|
&& mkdir -p /tmp/modules \ |
|
|
|
|
&& cd /tmp/modules \ |
|
|
|
|
&& wget -O nginx-requestid.tar.gz https://github.com/hhru/nginx_requestid/archive/master.tar.gz \ |
|
|
|
|
&& tar xvzf nginx-requestid.tar.gz \ |
|
|
|
|
mkdir -p /tmp/modules && \ |
|
|
|
|
cd /tmp/modules && \ |
|
|
|
|
wget -O nginx-requestid.tar.gz https://github.com/hhru/nginx_requestid/archive/master.tar.gz && \ |
|
|
|
|
tar xvzf nginx-requestid.tar.gz && \ |
|
|
|
|
# Download and compile nginx |
|
|
|
|
&& cd /tmp \ |
|
|
|
|
&& wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz \ |
|
|
|
|
&& tar xzvf nginx-${NGINX_VERSION}.tar.gz \ |
|
|
|
|
&& cd nginx-${NGINX_VERSION} \ |
|
|
|
|
&& ./configure ${NGINX_OPTS} \ |
|
|
|
|
&& make \ |
|
|
|
|
&& make install \ |
|
|
|
|
cd /tmp && \ |
|
|
|
|
wget http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz && \ |
|
|
|
|
tar xzvf nginx-${NGINX_VERSION}.tar.gz && \ |
|
|
|
|
cd nginx-${NGINX_VERSION} && \ |
|
|
|
|
./configure ${NGINX_OPTS} && \ |
|
|
|
|
make && \ |
|
|
|
|
make install && \ |
|
|
|
|
|
|
|
|
|
pip install --upgrade pip && \ |
|
|
|
|
pip install --no-cache-dir -r /opt/app/requirements/production.txt && \ |
|
|
|
|
|
|
|
|
|
# Delete build dependencies after use |
|
|
|
|
&& cd /tmp \ |
|
|
|
|
&& apk del .build-dependencies \ |
|
|
|
|
cd /tmp \ |
|
|
|
|
|
|
|
|
|
&& rm -rf \ |
|
|
|
|
modules \ |
|
|
|
|
nginx-${NGINX_VERSION} \ |
|
|
|
|
nginx-${NGINX_VERSION}.tar.gz \ |
|
|
|
|
/var/cache/apk/* \ |
|
|
|
|
/var/cache/apt/* \ |
|
|
|
|
/root/.cache \ |
|
|
|
|
/var/lib/apt/lists/* |
|
|
|
|
|
|
|
|
|
# Security precautions |
|
|
|
|
&& openssl rand -base64 32 > /opt/app/secret_key.txt \ |
|
|
|
|
&& echo "root:$(openssl passwd -apr1 uztOsdwP)" >> /etc/nginx/.htpasswd |
|
|
|
|
|
|
|
|
|
# for gitlab cli |
|
|
|
|
#COPY . /opt/app |
|
|
|
|
#VOLUME ["/opt/app/public/media"] |
|
|
|
|
WORKDIR /opt/app |
|
|
|
|
@ -87,8 +64,5 @@ WORKDIR /opt/app |
|
|
|
|
RUN rm -v /etc/nginx/nginx.conf |
|
|
|
|
ADD /conf/nginx.conf /etc/nginx/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
EXPOSE 80 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CMD ["conf/docker/entrypoint_stage.sh"] |
|
|
|
|
|