Importing into a fresh repository.
Showing
9 changed files
with
281 additions
and
0 deletions
.dockerignore
0 → 100644
1 | compile |
.gitignore
0 → 100644
1 | nginx.tar.gz |
Dockerfile
0 → 100644
1 | FROM docker.brainfood.com/dumb-init | ||
2 | |||
3 | RUN ["apt-docker", \ | ||
4 | "-y", "install", "libgeoip1", "libxslt1.1", "libgd3", "ca-certificates", \ | ||
5 | ";" ] | ||
6 | |||
7 | ADD nginx.tar.gz /usr/local | ||
8 | ADD /overlay/ / | ||
9 | |||
10 | EXPOSE 80 443 | ||
11 | ENTRYPOINT ["/usr/bin/dumb-init", "/usr/local/nginx/sbin/nginx", "-g", "daemon off;"] |
compile/nginx-pagespeed/.gitignore
0 → 100644
compile/nginx-pagespeed/Dockerfile
0 → 100644
1 | FROM docker.brainfood.com/debian-support | ||
2 | |||
3 | RUN ["apt-docker", \ | ||
4 | "-y", "install", \ | ||
5 | "wget", \ | ||
6 | "build-essential", \ | ||
7 | "zlib1g-dev", "libpcre3-dev", "libssl-dev", "libxslt1-dev", "libgd-dev", "libgeoip-dev", \ | ||
8 | "zip", "unzip",\ | ||
9 | "git", \ | ||
10 | ";" ] | ||
11 | |||
12 | ENV \ | ||
13 | NPS_VERSION=1.12.34.2-beta \ | ||
14 | NGINX_VERSION=1.11.7 | ||
15 | |||
16 | #ADD nginx.tar.gz ngx_pagespeed.zip psol.tar.gz /tmp/build/ | ||
17 | ADD nginx.tar.gz /tmp/build/ | ||
18 | |||
19 | WORKDIR /tmp/build | ||
20 | |||
21 | ADD ngx_pagespeed.zip /tmp/build/ | ||
22 | |||
23 | ADD git-bundles/* /tmp/build/git-bundles/ | ||
24 | |||
25 | RUN unzip ngx_pagespeed.zip | ||
26 | |||
27 | ADD psol.tar.gz /tmp/build/ngx_pagespeed-${NPS_VERSION}/ | ||
28 | |||
29 | ADD /overlay/ / | ||
30 | RUN /tmp/build/build-in-docker.sh |
compile/nginx-pagespeed/download-files
0 → 100755
1 | #!/bin/sh | ||
2 | |||
3 | set -e | ||
4 | |||
5 | volume="$1" | ||
6 | shift | ||
7 | |||
8 | docker-git-bundle https://github.com/yaoweibin/ngx_http_substitutions_filter_module.git "$volume/git-bundles/ngx_http_substitutions_filter_module.bundle" | ||
9 | |||
10 | docker-download-file http://nginx.org/download/nginx-1.11.7.tar.gz "$volume/nginx.tar.gz" | ||
11 | docker-download-file http://dl.google.com/dl/page-speed/psol/1.12.34.2-x64.tar.gz "$volume/psol.tar.gz" | ||
12 | docker-download-file https://github.com/pagespeed/ngx_pagespeed/archive/v1.12.34.2-beta.zip "$volume/ngx_pagespeed.zip" |
1 | #!/bin/bash | ||
2 | |||
3 | NPS_VERSION=1.12.34.2-beta | ||
4 | NGINX_VERSION=1.11.7 | ||
5 | |||
6 | set -e | ||
7 | |||
8 | #cd /tmp/build | ||
9 | |||
10 | # -- nginx | ||
11 | # extraction handled by docker-build | ||
12 | # tar -xvzf nginx.tar.gz | ||
13 | |||
14 | declare -a nginx_modules=( | ||
15 | "--add-module=/tmp/build/ngx_pagespeed-${NPS_VERSION}" | ||
16 | ) | ||
17 | |||
18 | # -- ngx_http_substitutions_filter | ||
19 | for bundle in git-bundles/*; do | ||
20 | git clone "$bundle" | ||
21 | configure_module_options+=("--add-module=/tmp/build/${bundle%.*}") | ||
22 | done | ||
23 | |||
24 | # -- ngx_pagespeed | ||
25 | #unzip ngx_pagespeed.zip | ||
26 | |||
27 | #psol_url=https://dl.google.com/dl/page-speed/psol/${NPS_VERSION}.tar.gz | ||
28 | #[ -e scripts/format_binary_url.sh ] && psol_url=$(scripts/format_binary_url.sh PSOL_BINARY_URL) | ||
29 | |||
30 | #psol_url=${psol_url/https:} | ||
31 | #psol_url=${psol_url/http:} | ||
32 | #psol_url=http:$psol_url | ||
33 | |||
34 | # extraction handled by docker-build | ||
35 | # tar -xzvf /tmp/build/psol.tar.gz # extracts to psol/ | ||
36 | #mv /tmp/build/psol /tmp/build/ngx_pagespeed-${NPS_VERSION} | ||
37 | |||
38 | cd nginx-${NGINX_VERSION}/ | ||
39 | declare -a nginx_configure_options=( | ||
40 | --with-debug | ||
41 | --with-http_ssl_module | ||
42 | --with-http_stub_status_module | ||
43 | --with-http_realip_module | ||
44 | --with-http_auth_request_module | ||
45 | --with-http_addition_module | ||
46 | --with-http_dav_module | ||
47 | --with-http_geoip_module | ||
48 | --with-http_gzip_static_module | ||
49 | --with-http_image_filter_module | ||
50 | # --with-http_spdy_module | ||
51 | --with-http_sub_module | ||
52 | --with-http_xslt_module | ||
53 | --with-mail | ||
54 | --with-mail_ssl_module | ||
55 | # --add-module=/build/nginx-D0f8kM/nginx-1.6.2/debian/modules/nginx-auth-pam | ||
56 | # --add-module=/build/nginx-D0f8kM/nginx-1.6.2/debian/modules/nginx-dav-ext-module | ||
57 | # --add-module=/build/nginx-D0f8kM/nginx-1.6.2/debian/modules/nginx-echo | ||
58 | # --add-module=/build/nginx-D0f8kM/nginx-1.6.2/debian/modules/nginx-upstream-fair | ||
59 | # --add-module=/build/nginx-D0f8kM/nginx-1.6.2/debian/modules/ngx_http_substitutions_filter_module | ||
60 | |||
61 | ) | ||
62 | ./configure \ | ||
63 | "${nginx_configure_options[@]}" \ | ||
64 | "${nginx_modules[@]}" \ | ||
65 | ${PS_NGX_EXTRA_FLAGS} | ||
66 | |||
67 | make -j4 | ||
68 | make install | ||
69 | |||
70 | mkdir -p /tmp/build-output | ||
71 | tar -C /usr/local -vc nginx | gzip -9v > /tmp/build-output/nginx.tar.gz | ||
72 | rm -rf /usr/local/nginx | ||
73 | |||
74 | rm -rf /tmp/build |
docker-compose.yml
0 → 100644
1 | version: '2' | ||
2 | |||
3 | services: | ||
4 | build: | ||
5 | image: docker.brainfood.com/nginx-pagespeed | ||
6 | build: | ||
7 | context: . | ||
8 | args: | ||
9 | - http_proxy | ||
10 | - https_proxy | ||
11 | compile: | ||
12 | build: | ||
13 | context: compile/nginx-pagespeed | ||
14 | args: | ||
15 | - http_proxy | ||
16 | - https_proxy | ||
17 | volumes: | ||
18 | - .:/tmp/nginx-pagespeed | ||
19 | command: ["cp", "-av", "/tmp/build-output/nginx.tar.gz", "/tmp/nginx-pagespeed/nginx.tar.gz"] | ||
20 | |||
21 | download: | ||
22 | image: docker.brainfood.com/debian-support | ||
23 | environment: | ||
24 | - http_proxy | ||
25 | - https_proxy | ||
26 | volumes: | ||
27 | - ./compile/nginx-pagespeed/:/tmp/nginx-pagespeed/ | ||
28 | command: ["/tmp/nginx-pagespeed/download-files", "/tmp/nginx-pagespeed"] | ||
29 |
overlay/usr/local/nginx/conf/nginx.conf
0 → 100644
1 | |||
2 | #user nobody; | ||
3 | worker_processes 7; | ||
4 | |||
5 | #error_log logs/error.log; | ||
6 | #error_log logs/error.log notice; | ||
7 | #error_log logs/error.log info; | ||
8 | |||
9 | #pid logs/nginx.pid; | ||
10 | |||
11 | |||
12 | events { | ||
13 | worker_connections 1024; | ||
14 | } | ||
15 | |||
16 | |||
17 | http { | ||
18 | include mime.types; | ||
19 | default_type application/octet-stream; | ||
20 | |||
21 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' | ||
22 | '$status $body_bytes_sent "$http_referer" ' | ||
23 | '"$http_user_agent" "$http_x_forwarded_for"'; | ||
24 | |||
25 | access_log logs/access.log main; | ||
26 | |||
27 | sendfile on; | ||
28 | #tcp_nopush on; | ||
29 | |||
30 | #keepalive_timeout 0; | ||
31 | keepalive_timeout 65; | ||
32 | |||
33 | #gzip on; | ||
34 | |||
35 | server { | ||
36 | listen 80; | ||
37 | server_name localhost; | ||
38 | |||
39 | #charset koi8-r; | ||
40 | |||
41 | #access_log logs/host.access.log main; | ||
42 | |||
43 | location / { | ||
44 | root html; | ||
45 | index index.html index.htm; | ||
46 | } | ||
47 | |||
48 | #error_page 404 /404.html; | ||
49 | |||
50 | # redirect server error pages to the static page /50x.html | ||
51 | # | ||
52 | error_page 500 502 503 504 /50x.html; | ||
53 | location = /50x.html { | ||
54 | root html; | ||
55 | } | ||
56 | |||
57 | # proxy the PHP scripts to Apache listening on 127.0.0.1:80 | ||
58 | # | ||
59 | #location ~ \.php$ { | ||
60 | # proxy_pass http://127.0.0.1; | ||
61 | #} | ||
62 | |||
63 | # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 | ||
64 | # | ||
65 | #location ~ \.php$ { | ||
66 | # root html; | ||
67 | # fastcgi_pass 127.0.0.1:9000; | ||
68 | # fastcgi_index index.php; | ||
69 | # fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; | ||
70 | # include fastcgi_params; | ||
71 | #} | ||
72 | |||
73 | # deny access to .htaccess files, if Apache's document root | ||
74 | # concurs with nginx's one | ||
75 | # | ||
76 | #location ~ /\.ht { | ||
77 | # deny all; | ||
78 | #} | ||
79 | } | ||
80 | |||
81 | |||
82 | # another virtual host using mix of IP-, name-, and port-based configuration | ||
83 | # | ||
84 | #server { | ||
85 | # listen 8000; | ||
86 | # listen somename:8080; | ||
87 | # server_name somename alias another.alias; | ||
88 | |||
89 | # location / { | ||
90 | # root html; | ||
91 | # index index.html index.htm; | ||
92 | # } | ||
93 | #} | ||
94 | |||
95 | |||
96 | # HTTPS server | ||
97 | # | ||
98 | #server { | ||
99 | # listen 443 ssl; | ||
100 | # server_name localhost; | ||
101 | |||
102 | # ssl_certificate cert.pem; | ||
103 | # ssl_certificate_key cert.key; | ||
104 | |||
105 | # ssl_session_cache shared:SSL:1m; | ||
106 | # ssl_session_timeout 5m; | ||
107 | |||
108 | # ssl_ciphers HIGH:!aNULL:!MD5; | ||
109 | # ssl_prefer_server_ciphers on; | ||
110 | |||
111 | # location / { | ||
112 | # root html; | ||
113 | # index index.html index.htm; | ||
114 | # } | ||
115 | #} | ||
116 | |||
117 | include /usr/local/nginx/conf.d/*.conf; | ||
118 | } | ||
119 |
-
Please register or sign in to post a comment