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