Merge branch 'master' of github.com:Mailu/Mailu
						commit
						14f30b300f
					
				| @ -0,0 +1,9 @@ | |||||||
|  | FROM nginx:alpine | ||||||
|  | 
 | ||||||
|  | RUN apk add --no-cache nginx-lua openssl | ||||||
|  | 
 | ||||||
|  | COPY nginx.conf.default /etc/nginx/nginx.conf.default | ||||||
|  | 
 | ||||||
|  | COPY start.sh /start.sh | ||||||
|  | 
 | ||||||
|  | CMD ["/start.sh"] | ||||||
| @ -0,0 +1,14 @@ | |||||||
|  | Mailu NGINX container | ||||||
|  | ===================== | ||||||
|  | 
 | ||||||
|  | NGINX is a popular and highly efficient webserver and reverse proxy server | ||||||
|  | commonly used to power high performance websites. In the Mailu stack it is | ||||||
|  | used as the HTTP frontend tunneling requests to the public web services | ||||||
|  | provided by other containers. | ||||||
|  | 
 | ||||||
|  | Resources | ||||||
|  | --------- | ||||||
|  | 
 | ||||||
|  |  * [Report issues](https://github.com/Mailu/Mailu/issues) and | ||||||
|  |     [send Pull Requests](https://github.com/Mailu/Mailu/pulls) | ||||||
|  |     in the [main Mailu repository](https://github.com/Mailu/Mailu) | ||||||
| @ -0,0 +1,79 @@ | |||||||
|  | #  Basic configuration | ||||||
|  | user nginx; | ||||||
|  | worker_processes  1; | ||||||
|  | error_log /dev/stderr info; | ||||||
|  | pid /var/run/nginx.pid; | ||||||
|  | 
 | ||||||
|  | events { | ||||||
|  |     worker_connections  1024; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | # Environment variables used in the configuration | ||||||
|  | env WEBMAIL; | ||||||
|  | env WEBDAV; | ||||||
|  | env EXPOSE_ADMIN; | ||||||
|  | 
 | ||||||
|  | http { | ||||||
|  |     # Standard HTTP configuration with slight hardening | ||||||
|  |     include /etc/nginx/mime.types; | ||||||
|  |     default_type application/octet-stream; | ||||||
|  |     access_log /dev/stdout; | ||||||
|  |     sendfile on; | ||||||
|  |     keepalive_timeout  65; | ||||||
|  |     server_tokens off; | ||||||
|  | 
 | ||||||
|  |     server { | ||||||
|  |       listen 80; | ||||||
|  | 
 | ||||||
|  |       # Load Lua variables | ||||||
|  |       set_by_lua $webmail 'return os.getenv("WEBMAIL")'; | ||||||
|  |       set_by_lua $webdav 'return os.getenv("WEBDAV")'; | ||||||
|  |       set_by_lua $expose_admin 'return os.getenv("EXPOSE_ADMIN")'; | ||||||
|  | 
 | ||||||
|  |       # Actual logic | ||||||
|  | 
 | ||||||
|  |       location / { | ||||||
|  |         if ($webmail != none) { | ||||||
|  |           return 301 $scheme://$host/webmail/; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if ($webmail = none) { | ||||||
|  |           return 403; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       location /webmail { | ||||||
|  |         if ($webmail != none) { | ||||||
|  |           proxy_pass http://webmail; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if ($webmail = none) { | ||||||
|  |           return 403; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       location /admin { | ||||||
|  |         if ($expose_admin = yes) { | ||||||
|  |           proxy_pass http://admin; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if ($expose_admin != yes) { | ||||||
|  |           return 403; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       location /webdav { | ||||||
|  |         if ($webdav != none) { | ||||||
|  |           proxy_pass http://webdav:5232; | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         if ($webdav = none) { | ||||||
|  |           return 403; | ||||||
|  |         } | ||||||
|  |       } | ||||||
|  | 
 | ||||||
|  |       location /.well-known/acme-challenge { | ||||||
|  |         proxy_pass http://admin:8081; | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @ -0,0 +1,5 @@ | |||||||
|  | #!/bin/sh | ||||||
|  | 
 | ||||||
|  | cp /etc/nginx/nginx.conf.default /etc/nginx/nginx.conf | ||||||
|  | 
 | ||||||
|  | nginx -g 'daemon off;' | ||||||
					Loading…
					
					
				
		Reference in New Issue
	
	 Pierre Jaury
						Pierre Jaury