This Dockerfile is for building an Nginx with modules module-vts

This commit is contained in:
reza 2021-11-02 15:05:39 +03:30
parent 020ca70660
commit fa913423da
No known key found for this signature in database
GPG Key ID: 3FE6AB77965B0515
3 changed files with 119 additions and 0 deletions

View File

@ -0,0 +1,51 @@
ARG VERSION=ubuntu
FROM alpine as builder
ENV nginx_module_vts 0.1.18
ENV NGINX_VERSION 1.20.1
ARG DEBIAN_FRONTEND=noninteractive
RUN apk add --no-cache --virtual .build-deps \
gcc \
libc-dev \
make \
openssl-dev \
pcre-dev \
zlib-dev \
linux-headers \
libxslt-dev \
gd-dev \
geoip-dev \
perl-dev \
libedit-dev \
mercurial \
bash \
alpine-sdk \
findutils \
build-base \
pcre \
openssl \
zlib \
git \
wget \
nano \
vim
#CMD ["/usr/sbin/sshd", "-D"]
RUN wget "http://nginx.org/download/nginx-${NGINX_VERSION}.tar.gz" -O nginx-${NGINX_VERSION}.tar.gz && \
git clone https://github.com/vozlt/nginx-module-vts && \
tar xzvf nginx-${NGINX_VERSION}.tar.gz && \
cd nginx-${NGINX_VERSION} && \
sh -c "./configure --with-http_ssl_module --with-http_sub_module --with-http_realip_module --with-stream_ssl_preread_module --with-http_v2_module --with-stream --with-file-aio --with-threads --with-http_auth_request_module --add-module=../nginx-module-vts" && \
make && \
make install
FROM alpine
COPY --from=builder /usr/local/nginx /usr/local/nginx
RUN mkdir -p /usr/local/nginx/conf/vhost/ && \
mkdir -p /var/cache/nginx/ && \
mkdir -p /var/local/nginx/conf/ssl
COPY nginx.conf /usr/local/nginx/conf/nginx.conf
SHELL ["/bin/bash", "-eo", "pipefail", "-c"]
CMD ["/usr/local/nginx/sbin/nginx", "-g", "daemon off;"]

View File

@ -0,0 +1,15 @@
ansible
==========
This Dockerfile is for building an Nginx with modules module-vts.
![](https://github.com/rezabojnordi)
## Make Images
```
$ docker login
$ docker build -t nginx-module-vts:latest .
```
[1]: https://github.com/rezabojnordi

View File

@ -0,0 +1,53 @@
worker_processes auto;
worker_rlimit_nofile 100000;
events {
use epoll;
worker_connections 10240;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 1024m;
client_body_buffer_size 10m;
sendfile on;
tcp_nopush on;
keepalive_timeout 120;
server_tokens off;
tcp_nodelay on;
vhost_traffic_status_zone;
#Gzip Compression
gzip on;
gzip_buffers 16 8k;
gzip_comp_level 6;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_proxied any;
gzip_vary on;
gzip_types
text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
text/javascript application/javascript application/x-javascript
text/x-json application/json application/x-web-app-manifest+json
text/css text/plain text/x-component
font/opentype application/x-font-ttf application/vnd.ms-fontobject
image/x-icon;
gzip_disable "MSIE [1-6]\.(?!.*SV1)";
server {
server_name _;
listen 80;
location /status {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
include vhost/*.conf;
}