mirror of
				https://github.com/dokku/buildpack-nginx.git
				synced 2025-10-31 03:56:29 +00:00 
			
		
		
		
	Compare commits
	
		
			37 Commits
		
	
	
		
			v7
			...
			758bf7c39c
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 758bf7c39c | |||
| 5a16fba7d1 | |||
| 8cb1d16d7e | |||
| aa0ebb8f47 | |||
| d5048c5fe3 | |||
| ec734ad787 | |||
| 150d82865b | |||
| cd84b47fd1 | |||
| e06b1e4df1 | |||
| 0d2e4c3ee6 | |||
| 1f534f7bc6 | |||
| 149f06c3b3 | |||
| 99d72cc005 | |||
| 46d850193d | |||
| 9eae441352 | |||
| b0ce745a1b | |||
| fe3a5dc54f | |||
| ad8d7c4261 | |||
| e8e0807a2d | |||
| 673fd38bb2 | |||
| 1945cf3645 | |||
| a9b3cb1767 | |||
| c6b3e74808 | |||
| ffaa249c5c | |||
| e31fee35bb | |||
| 0b290ce1f6 | |||
| ec0560066c | |||
| f873fe2024 | |||
| 9a82e569c1 | |||
| 6ecc56df72 | |||
| ed184f98fd | |||
| 2535bd6ebb | |||
| 6d1ae20708 | |||
| dded3b0717 | |||
| d4f93ae2b3 | |||
| 51f642dcff | |||
| 0a46959ef7 | 
							
								
								
									
										11
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										11
									
								
								README.md
									
									
									
									
									
								
							| @ -1,17 +1,16 @@ | |||||||
| # Dokku Buildpack: nginx | # heroku-buildpack-nginx | ||||||
|  |  | ||||||
| This is the official dokku buildpack for static websites, powered by nginx. | This is the official dokku buildpack for static websites, powered by nginx. | ||||||
|  |  | ||||||
| ## Usage | ## Usage | ||||||
|  |  | ||||||
| All static files that you want to serve should be in the root directory of your repository. No need to use a seperate `www` folder. `buildpack-nginx` will automatically download the buildpack, download NGINX, compile it, and install it. The next time you push your project, the buildpack will reuse the precompiled binaries. | All static files that you want to serve should be in the root directory of your repository. No need to use a separate `www` folder. `buildpack-nginx` will automatically download the buildpack, download NGINX, compile it, and install it. The next time you push your project, the buildpack will reuse the precompiled binaries. | ||||||
|  |  | ||||||
| ### Dokku | ### Dokku | ||||||
|  |  | ||||||
| To trigger detection of this buildpack in Dokku, you have two options: | To trigger detection of this buildpack you need to add a dotfile: | ||||||
|  |  | ||||||
| - Automatic: Add an *empty* file called `.static` to your root directory of your web project. | Add an *empty* file called `.static` to your root directory of your web project (regardless if you use a custom value for NGINX_ROOT) | ||||||
| - Manual: Set your `BUILDPACK_URL` via `dokku config:set BUILDPACK_URL=https://github.com/dokku/buildpack-nginx.git` |  | ||||||
|  |  | ||||||
| ### Heroku | ### Heroku | ||||||
|  |  | ||||||
| @ -23,7 +22,7 @@ heroku buildpacks:set https://github.com/dokku/buildpack-nginx.git | |||||||
|  |  | ||||||
| ## Configuration | ## Configuration | ||||||
|  |  | ||||||
| You can override the nginx root via setting the `NGINX_ROOT` environment variable. This should be a relative path in your repository. | You can override the nginx root via setting the `NGINX_ROOT` environment variable. This should be a relative path in your repository (for example `dokku config:set <app> NGINX_ROOT=_site` if you are deploying a Jekyll site). | ||||||
|  |  | ||||||
| You may completely override the built-in nginx config by placing an `app-nginx.conf.sigil` file in the root, modeled after our own [`conf/app-nginx.conf.sigil`](https://github.com/dokku/buildpack-nginx/blob/master/conf/app-nginx.conf.sigil). This will be used inside of the container, and not by the host Dokku instance. See the [sigil project](https://github.com/gliderlabs/sigil) for more information concerning the sigil format. | You may completely override the built-in nginx config by placing an `app-nginx.conf.sigil` file in the root, modeled after our own [`conf/app-nginx.conf.sigil`](https://github.com/dokku/buildpack-nginx/blob/master/conf/app-nginx.conf.sigil). This will be used inside of the container, and not by the host Dokku instance. See the [sigil project](https://github.com/gliderlabs/sigil) for more information concerning the sigil format. | ||||||
|  |  | ||||||
|  | |||||||
							
								
								
									
										23
									
								
								bin/compile
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								bin/compile
									
									
									
									
									
								
							| @ -2,13 +2,13 @@ | |||||||
| # bin/compile <build-dir> <cache-dir> | # bin/compile <build-dir> <cache-dir> | ||||||
| set -eo pipefail; [[ $TRACE ]] && set -x | set -eo pipefail; [[ $TRACE ]] && set -x | ||||||
|  |  | ||||||
| NGINX_VERSION="1.10.1" | NGINX_VERSION="1.17.0" | ||||||
| NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz" | NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz" | ||||||
| PCRE_VERSION="8.39" | PCRE_VERSION="8.45" | ||||||
| PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz" | PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz" | ||||||
| SIGIL_VERSION="0.4.0" | SIGIL_VERSION="0.4.0" | ||||||
| SIGIL_TARBALL="sigil_${SIGIL_VERSION}_Linux_x86_64.tgz" | SIGIL_TARBALL="sigil_${SIGIL_VERSION}_Linux_x86_64.tgz" | ||||||
| ZLIB_VERSION="1.2.8" | ZLIB_VERSION="1.2.11" | ||||||
| ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz" | ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz" | ||||||
|  |  | ||||||
| suppress() { | suppress() { | ||||||
| @ -47,25 +47,25 @@ fi | |||||||
| cd "$CACHE_DIR" | cd "$CACHE_DIR" | ||||||
|  |  | ||||||
| if [[ ! -d "${NGINX_TARBALL%.tar.gz}" ]]; then | if [[ ! -d "${NGINX_TARBALL%.tar.gz}" ]]; then | ||||||
|   echo "-----> Download and unzip nginx" |   echo "-----> Download and unzip nginx ${NGINX_VERSION} via http" | ||||||
|   curl -sSL "http://nginx.org/download/${NGINX_TARBALL}" -o "${NGINX_TARBALL}" |   curl -sSL "http://nginx.org/download/${NGINX_TARBALL}" -o "${NGINX_TARBALL}" | ||||||
|   tar xzf "${NGINX_TARBALL}" && rm -f "${NGINX_TARBALL}" |   tar xzf "${NGINX_TARBALL}" && rm -f "${NGINX_TARBALL}" | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if [[ ! -d "${PCRE_TARBALL%.tar.gz}" ]]; then | if [[ ! -d "${PCRE_TARBALL%.tar.gz}" ]]; then | ||||||
|   echo "-----> Download and unzip pcre" |   echo "-----> Download and unzip pcre ${PCRE_VERSION} via http" | ||||||
|   curl -sSL "http://ftp.csx.cam.ac.uk/pub/software/programming/pcre/${PCRE_TARBALL}" -o "${PCRE_TARBALL}" |   curl -sSL "https://downloads.sourceforge.net/project/pcre/pcre/${PCRE_VERSION}/${PCRE_TARBALL}" -o "${PCRE_TARBALL}" | ||||||
|   tar xzf "${PCRE_TARBALL}" && rm -f "${PCRE_TARBALL}" |   tar xzf "${PCRE_TARBALL}" && rm -f "${PCRE_TARBALL}" | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if [[ ! -d "${ZLIB_TARBALL%.tar.gz}" ]]; then | if [[ ! -d "${ZLIB_TARBALL%.tar.gz}" ]]; then | ||||||
|   echo "-----> Download and unzip zlib" |   echo "-----> Download and unzip zlib ${ZLIB_VERSION} via http" | ||||||
|   curl -sSL "http://zlib.net/${ZLIB_TARBALL}" -o "${ZLIB_TARBALL}" |   curl -sSL "https://github.com/madler/zlib/archive/v${ZLIB_VERSION}.tar.gz" -o "${ZLIB_TARBALL}" | ||||||
|   tar xzf "${ZLIB_TARBALL}" && rm -rf "${ZLIB_TARBALL}" |   tar xzf "${ZLIB_TARBALL}" && rm -rf "${ZLIB_TARBALL}" | ||||||
| fi | fi | ||||||
|  |  | ||||||
| if [[ ! -f "sigil" ]]; then | if [[ ! -f "sigil" ]]; then | ||||||
|   echo "-----> Download and unzip sigil" |   echo "-----> Download and unzip sigil ${SIGIL_VERSION} via http" | ||||||
|   curl -sSL "https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/${SIGIL_TARBALL}" -o "${SIGIL_TARBALL}" |   curl -sSL "https://github.com/gliderlabs/sigil/releases/download/v${SIGIL_VERSION}/${SIGIL_TARBALL}" -o "${SIGIL_TARBALL}" | ||||||
|   tar xzf "${SIGIL_TARBALL}" && rm -rf "${SIGIL_TARBALL}" |   tar xzf "${SIGIL_TARBALL}" && rm -rf "${SIGIL_TARBALL}" | ||||||
| fi | fi | ||||||
| @ -91,7 +91,6 @@ if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then | |||||||
|     --with-zlib=../zlib-${ZLIB_VERSION} \ |     --with-zlib=../zlib-${ZLIB_VERSION} \ | ||||||
|     --with-pcre \ |     --with-pcre \ | ||||||
|     --with-cc-opt="-O2 -static -static-libgcc" \ |     --with-cc-opt="-O2 -static -static-libgcc" \ | ||||||
|     --without-http_charset_module \ |  | ||||||
|     --without-http_ssi_module \ |     --without-http_ssi_module \ | ||||||
|     --without-http_userid_module \ |     --without-http_userid_module \ | ||||||
|     --without-http_access_module \ |     --without-http_access_module \ | ||||||
| @ -101,7 +100,6 @@ if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then | |||||||
|     --without-http_map_module \ |     --without-http_map_module \ | ||||||
|     --without-http_split_clients_module \ |     --without-http_split_clients_module \ | ||||||
|     --without-http_referer_module \ |     --without-http_referer_module \ | ||||||
|     --without-http_proxy_module \ |  | ||||||
|     --without-http_fastcgi_module \ |     --without-http_fastcgi_module \ | ||||||
|     --without-http_uwsgi_module \ |     --without-http_uwsgi_module \ | ||||||
|     --without-http_scgi_module \ |     --without-http_scgi_module \ | ||||||
| @ -113,7 +111,8 @@ if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then | |||||||
|     --without-http_upstream_keepalive_module \ |     --without-http_upstream_keepalive_module \ | ||||||
|     --without-mail_pop3_module \ |     --without-mail_pop3_module \ | ||||||
|     --without-mail_imap_module \ |     --without-mail_imap_module \ | ||||||
|     --without-mail_smtp_module |     --without-mail_smtp_module \ | ||||||
|  |     --with-http_realip_module | ||||||
|  |  | ||||||
|   sed -i "/CFLAGS/s/ \-O //g" objs/Makefile |   sed -i "/CFLAGS/s/ \-O //g" objs/Makefile | ||||||
|  |  | ||||||
|  | |||||||
| @ -10,6 +10,7 @@ events { | |||||||
| http { | http { | ||||||
|   types_hash_max_size 2048; |   types_hash_max_size 2048; | ||||||
|   include mime.types; |   include mime.types; | ||||||
|  |   charset UTF-8; | ||||||
|   server { |   server { | ||||||
|     listen {{ $.PORT }}; |     listen {{ $.PORT }}; | ||||||
|     server_name  _; |     server_name  _; | ||||||
| @ -19,6 +20,7 @@ http { | |||||||
|       root /app/www; |       root /app/www; | ||||||
|     {{ end }} |     {{ end }} | ||||||
|     index index.html; |     index index.html; | ||||||
|  |     port_in_redirect off; | ||||||
|  |  | ||||||
|     location / { |     location / { | ||||||
|       try_files $uri $uri/ /index.html; |       try_files $uri $uri/ /index.html; | ||||||
|  | |||||||
| @ -14,6 +14,7 @@ types { | |||||||
|     text/vnd.sun.j2me.app-descriptor      jad; |     text/vnd.sun.j2me.app-descriptor      jad; | ||||||
|     text/vnd.wap.wml                      wml; |     text/vnd.wap.wml                      wml; | ||||||
|     text/x-component                      htc; |     text/x-component                      htc; | ||||||
|  |     text/vtt                              vtt; | ||||||
|  |  | ||||||
|     image/png                             png; |     image/png                             png; | ||||||
|     image/tiff                            tif tiff; |     image/tiff                            tif tiff; | ||||||
|  | |||||||
		Reference in New Issue
	
	Block a user
	