Merge branch 'develop/nginx'
This commit is contained in:
9
templates/Nginx/0/README.md
Normal file
9
templates/Nginx/0/README.md
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Nginx
|
||||||
|
|
||||||
|
### Will continue this in the future
|
||||||
|
|
||||||
|
https://store.docker.com/_/nginx
|
||||||
|
|
||||||
|
|
||||||
|
### Full Example nginx.conf
|
||||||
|
https://www.nginx.com/resources/wiki/start/topics/examples/full/
|
||||||
44
templates/Nginx/0/docker-compose.yml
Normal file
44
templates/Nginx/0/docker-compose.yml
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
version: '2'
|
||||||
|
|
||||||
|
services:
|
||||||
|
nginx:
|
||||||
|
image: nginx:alpine
|
||||||
|
dns:
|
||||||
|
- 1.1.1.1
|
||||||
|
- 1.0.0.1
|
||||||
|
labels:
|
||||||
|
io.rancher.container.pull_image: always
|
||||||
|
{{- if .Values.HOST_LABEL}}
|
||||||
|
io.rancher.scheduler.affinity:host_label: ${HOST_LABEL}
|
||||||
|
{{- end}}
|
||||||
|
{{- if .Values.TRAEFIK_HOST}}
|
||||||
|
traefik.enable: true
|
||||||
|
### Start Web Segment
|
||||||
|
traefik.frontend.entryPoints: http,https
|
||||||
|
traefik.frontend.headers.forceSTSHeader: true
|
||||||
|
traefik.frontend.headers.referrerPolicy: no-referrer
|
||||||
|
traefik.frontend.headers.SSLRedirect: true
|
||||||
|
traefik.frontend.headers.STSPreload: true
|
||||||
|
traefik.frontend.headers.STSSeconds: 15552000
|
||||||
|
traefik.frontend.rule: Host:${TRAEFIK_HOST}
|
||||||
|
traefik.port: "80"
|
||||||
|
### End Web Segment
|
||||||
|
{{- else}}
|
||||||
|
traefik.enable: false
|
||||||
|
{{- end}}
|
||||||
|
networks:
|
||||||
|
- public-proxy
|
||||||
|
{{- if .Values.WEB_PORT}}
|
||||||
|
ports:
|
||||||
|
- "${WEB_PORT}:80"
|
||||||
|
{{- end}}
|
||||||
|
restart: on-failure
|
||||||
|
volumes:
|
||||||
|
{{- if eq .Values.PERSIST_CONF "true"}}
|
||||||
|
- /RancherCattle/${DATA_DIR}/Configuration:/etc/nginx
|
||||||
|
{{- end}}
|
||||||
|
- /RancherCattle/${DATA_DIR}/HTML:/usr/share/nginx/html
|
||||||
|
|
||||||
|
networks:
|
||||||
|
public-proxy:
|
||||||
|
external: true
|
||||||
51
templates/Nginx/0/rancher-compose.yml
Normal file
51
templates/Nginx/0/rancher-compose.yml
Normal file
@@ -0,0 +1,51 @@
|
|||||||
|
version: '2'
|
||||||
|
catalog:
|
||||||
|
name: Nginx
|
||||||
|
version: latest
|
||||||
|
# description:
|
||||||
|
# minimum_rancher_version:
|
||||||
|
# maximum_rancher_version:
|
||||||
|
# upgrade_from:
|
||||||
|
questions:
|
||||||
|
|
||||||
|
- variable: "HOST_LABEL"
|
||||||
|
label: "Host Label Key/Value Pair"
|
||||||
|
description: |
|
||||||
|
The Label Key/Value pair on the host which containers should be deployed
|
||||||
|
default: "host.id=Host1"
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
- variable: "TRAEFIK_HOST"
|
||||||
|
label: "Public Host Domain"
|
||||||
|
description: |
|
||||||
|
The host that Traefik will use to provide public access.
|
||||||
|
Leaving this empty will disable Traefik on this stack.
|
||||||
|
default: "subdomain.domain.tld"
|
||||||
|
required: false
|
||||||
|
type: string
|
||||||
|
|
||||||
|
- variable: "WEB_PORT"
|
||||||
|
label: "Web Port"
|
||||||
|
description: |
|
||||||
|
The port to locally access the web interface on.
|
||||||
|
Leaving this empty will disable opening any port on the host system.
|
||||||
|
default: "11000"
|
||||||
|
required: false
|
||||||
|
type: int
|
||||||
|
|
||||||
|
- variable: "PERSIST_CONF"
|
||||||
|
label: "Persistent Configuration"
|
||||||
|
description: |
|
||||||
|
Have a persistent congiguration directory.
|
||||||
|
default: true
|
||||||
|
required: true
|
||||||
|
type: boolean
|
||||||
|
|
||||||
|
- variable: "DATA_DIR"
|
||||||
|
label: "Data Directory"
|
||||||
|
description: |
|
||||||
|
The directory to store persistent data for the stack.
|
||||||
|
default: "Personal/Nginx"
|
||||||
|
required: true
|
||||||
|
type: string
|
||||||
7
templates/Nginx/Examples/Official-Full/README.md
Normal file
7
templates/Nginx/Examples/Official-Full/README.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Full Configuration Example
|
||||||
|
These example files were directly copied from:
|
||||||
|
https://www.nginx.com/resources/wiki/start/topics/examples/full/
|
||||||
|
|
||||||
|
They are **NOT** configured for this configuration, simply a generic reference.
|
||||||
|
|
||||||
|
Last updated: 9 December 2018
|
||||||
21
templates/Nginx/Examples/Official-Full/fastcgi.conf
Normal file
21
templates/Nginx/Examples/Official-Full/fastcgi.conf
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
|
||||||
|
fastcgi_param QUERY_STRING $query_string;
|
||||||
|
fastcgi_param REQUEST_METHOD $request_method;
|
||||||
|
fastcgi_param CONTENT_TYPE $content_type;
|
||||||
|
fastcgi_param CONTENT_LENGTH $content_length;
|
||||||
|
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
|
||||||
|
fastcgi_param REQUEST_URI $request_uri;
|
||||||
|
fastcgi_param DOCUMENT_URI $document_uri;
|
||||||
|
fastcgi_param DOCUMENT_ROOT $document_root;
|
||||||
|
fastcgi_param SERVER_PROTOCOL $server_protocol;
|
||||||
|
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
|
||||||
|
fastcgi_param SERVER_SOFTWARE nginx/$nginx_version;
|
||||||
|
fastcgi_param REMOTE_ADDR $remote_addr;
|
||||||
|
fastcgi_param REMOTE_PORT $remote_port;
|
||||||
|
fastcgi_param SERVER_ADDR $server_addr;
|
||||||
|
fastcgi_param SERVER_PORT $server_port;
|
||||||
|
fastcgi_param SERVER_NAME $server_name;
|
||||||
|
|
||||||
|
fastcgi_index index.php;
|
||||||
|
|
||||||
|
fastcgi_param REDIRECT_STATUS 200;
|
||||||
48
templates/Nginx/Examples/Official-Full/mime.types
Normal file
48
templates/Nginx/Examples/Official-Full/mime.types
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
types {
|
||||||
|
text/html html htm shtml;
|
||||||
|
text/css css;
|
||||||
|
text/xml xml rss;
|
||||||
|
image/gif gif;
|
||||||
|
image/jpeg jpeg jpg;
|
||||||
|
application/x-javascript js;
|
||||||
|
text/plain txt;
|
||||||
|
text/x-component htc;
|
||||||
|
text/mathml mml;
|
||||||
|
image/png png;
|
||||||
|
image/x-icon ico;
|
||||||
|
image/x-jng jng;
|
||||||
|
image/vnd.wap.wbmp wbmp;
|
||||||
|
application/java-archive jar war ear;
|
||||||
|
application/mac-binhex40 hqx;
|
||||||
|
application/pdf pdf;
|
||||||
|
application/x-cocoa cco;
|
||||||
|
application/x-java-archive-diff jardiff;
|
||||||
|
application/x-java-jnlp-file jnlp;
|
||||||
|
application/x-makeself run;
|
||||||
|
application/x-perl pl pm;
|
||||||
|
application/x-pilot prc pdb;
|
||||||
|
application/x-rar-compressed rar;
|
||||||
|
application/x-redhat-package-manager rpm;
|
||||||
|
application/x-sea sea;
|
||||||
|
application/x-shockwave-flash swf;
|
||||||
|
application/x-stuffit sit;
|
||||||
|
application/x-tcl tcl tk;
|
||||||
|
application/x-x509-ca-cert der pem crt;
|
||||||
|
application/x-xpinstall xpi;
|
||||||
|
application/zip zip;
|
||||||
|
application/octet-stream deb;
|
||||||
|
application/octet-stream bin exe dll;
|
||||||
|
application/octet-stream dmg;
|
||||||
|
application/octet-stream eot;
|
||||||
|
application/octet-stream iso img;
|
||||||
|
application/octet-stream msi msp msm;
|
||||||
|
audio/mpeg mp3;
|
||||||
|
audio/x-realaudio ra;
|
||||||
|
video/mpeg mpeg mpg;
|
||||||
|
video/quicktime mov;
|
||||||
|
video/x-flv flv;
|
||||||
|
video/x-msvideo avi;
|
||||||
|
video/x-ms-wmv wmv;
|
||||||
|
video/x-ms-asf asx asf;
|
||||||
|
video/x-mng mng;
|
||||||
|
}
|
||||||
70
templates/Nginx/Examples/Official-Full/nginx.conf
Normal file
70
templates/Nginx/Examples/Official-Full/nginx.conf
Normal file
@@ -0,0 +1,70 @@
|
|||||||
|
user www www; ## Default: nobody
|
||||||
|
worker_processes 5; ## Default: 1
|
||||||
|
error_log logs/error.log;
|
||||||
|
pid logs/nginx.pid;
|
||||||
|
worker_rlimit_nofile 8192;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 4096; ## Default: 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include conf/mime.types;
|
||||||
|
include /etc/nginx/proxy.conf;
|
||||||
|
include /etc/nginx/fastcgi.conf;
|
||||||
|
index index.html index.htm index.php;
|
||||||
|
|
||||||
|
default_type application/octet-stream;
|
||||||
|
log_format main '$remote_addr - $remote_user [$time_local] $status '
|
||||||
|
'"$request" $body_bytes_sent "$http_referer" '
|
||||||
|
'"$http_user_agent" "$http_x_forwarded_for"';
|
||||||
|
access_log logs/access.log main;
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
server_names_hash_bucket_size 128; # this seems to be required for some vhosts
|
||||||
|
|
||||||
|
server { # php/fastcgi
|
||||||
|
listen 80;
|
||||||
|
server_name domain1.com www.domain1.com;
|
||||||
|
access_log logs/domain1.access.log main;
|
||||||
|
root html;
|
||||||
|
|
||||||
|
location ~ \.php$ {
|
||||||
|
fastcgi_pass 127.0.0.1:1025;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
server { # simple reverse-proxy
|
||||||
|
listen 80;
|
||||||
|
server_name domain2.com www.domain2.com;
|
||||||
|
access_log logs/domain2.access.log main;
|
||||||
|
|
||||||
|
# serve static files
|
||||||
|
location ~ ^/(images|javascript|js|css|flash|media|static)/ {
|
||||||
|
root /var/www/virtual/big.server.com/htdocs;
|
||||||
|
expires 30d;
|
||||||
|
}
|
||||||
|
|
||||||
|
# pass requests for dynamic content to rails/turbogears/zope, et al
|
||||||
|
location / {
|
||||||
|
proxy_pass http://127.0.0.1:8080;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
upstream big_server_com {
|
||||||
|
server 127.0.0.3:8000 weight=5;
|
||||||
|
server 127.0.0.3:8001 weight=5;
|
||||||
|
server 192.168.0.1:8000;
|
||||||
|
server 192.168.0.1:8001;
|
||||||
|
}
|
||||||
|
|
||||||
|
server { # simple load balancing
|
||||||
|
listen 80;
|
||||||
|
server_name big.server.com;
|
||||||
|
access_log logs/big.server.access.log main;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://big_server_com;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
10
templates/Nginx/Examples/Official-Full/proxy.conf
Normal file
10
templates/Nginx/Examples/Official-Full/proxy.conf
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
proxy_redirect off;
|
||||||
|
proxy_set_header Host $host;
|
||||||
|
proxy_set_header X-Real-IP $remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||||
|
client_max_body_size 10m;
|
||||||
|
client_body_buffer_size 128k;
|
||||||
|
proxy_connect_timeout 90;
|
||||||
|
proxy_send_timeout 90;
|
||||||
|
proxy_read_timeout 90;
|
||||||
|
proxy_buffers 32 4k;
|
||||||
3
templates/Nginx/Examples/SimpleStatic/README.md
Normal file
3
templates/Nginx/Examples/SimpleStatic/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Simple Static Content Example
|
||||||
|
This is an extremely simple configuration that works, close to what the default configuration would do.
|
||||||
|
This example does work with this Docker configuration, so it can simply be copied into the correct directory.
|
||||||
48
templates/Nginx/Examples/SimpleStatic/mime.types
Normal file
48
templates/Nginx/Examples/SimpleStatic/mime.types
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
types {
|
||||||
|
text/html html htm shtml;
|
||||||
|
text/css css;
|
||||||
|
text/xml xml rss;
|
||||||
|
image/gif gif;
|
||||||
|
image/jpeg jpeg jpg;
|
||||||
|
application/x-javascript js;
|
||||||
|
text/plain txt;
|
||||||
|
text/x-component htc;
|
||||||
|
text/mathml mml;
|
||||||
|
image/png png;
|
||||||
|
image/x-icon ico;
|
||||||
|
image/x-jng jng;
|
||||||
|
image/vnd.wap.wbmp wbmp;
|
||||||
|
application/java-archive jar war ear;
|
||||||
|
application/mac-binhex40 hqx;
|
||||||
|
application/pdf pdf;
|
||||||
|
application/x-cocoa cco;
|
||||||
|
application/x-java-archive-diff jardiff;
|
||||||
|
application/x-java-jnlp-file jnlp;
|
||||||
|
application/x-makeself run;
|
||||||
|
application/x-perl pl pm;
|
||||||
|
application/x-pilot prc pdb;
|
||||||
|
application/x-rar-compressed rar;
|
||||||
|
application/x-redhat-package-manager rpm;
|
||||||
|
application/x-sea sea;
|
||||||
|
application/x-shockwave-flash swf;
|
||||||
|
application/x-stuffit sit;
|
||||||
|
application/x-tcl tcl tk;
|
||||||
|
application/x-x509-ca-cert der pem crt;
|
||||||
|
application/x-xpinstall xpi;
|
||||||
|
application/zip zip;
|
||||||
|
application/octet-stream deb;
|
||||||
|
application/octet-stream bin exe dll;
|
||||||
|
application/octet-stream dmg;
|
||||||
|
application/octet-stream eot;
|
||||||
|
application/octet-stream iso img;
|
||||||
|
application/octet-stream msi msp msm;
|
||||||
|
audio/mpeg mp3;
|
||||||
|
audio/x-realaudio ra;
|
||||||
|
video/mpeg mpeg mpg;
|
||||||
|
video/quicktime mov;
|
||||||
|
video/x-flv flv;
|
||||||
|
video/x-msvideo avi;
|
||||||
|
video/x-ms-wmv wmv;
|
||||||
|
video/x-ms-asf asx asf;
|
||||||
|
video/x-mng mng;
|
||||||
|
}
|
||||||
25
templates/Nginx/Examples/SimpleStatic/nginx.conf
Normal file
25
templates/Nginx/Examples/SimpleStatic/nginx.conf
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
user nobody;
|
||||||
|
worker_processes 5; ## Default: 1
|
||||||
|
worker_rlimit_nofile 8192;
|
||||||
|
|
||||||
|
events {
|
||||||
|
worker_connections 4096; ## Default: 1024
|
||||||
|
}
|
||||||
|
|
||||||
|
http {
|
||||||
|
include /etc/nginx/mime.types;
|
||||||
|
index index.html;
|
||||||
|
|
||||||
|
default_type application/octet-stream;
|
||||||
|
sendfile on;
|
||||||
|
tcp_nopush on;
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 80;
|
||||||
|
server_name _;
|
||||||
|
|
||||||
|
# serve static files
|
||||||
|
location / {
|
||||||
|
root /usr/share/nginx/html;
|
||||||
|
}
|
||||||
|
}
|
||||||
8
templates/Nginx/config.yml
Normal file
8
templates/Nginx/config.yml
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
name: Nginx
|
||||||
|
description: |
|
||||||
|
A web server with a strong focus on high concurrency, performance and low memory usage.
|
||||||
|
version: latest
|
||||||
|
# category:
|
||||||
|
maintainer: WilliamMiceli
|
||||||
|
# license:
|
||||||
|
# projectURL:
|
||||||
Reference in New Issue
Block a user