mirror of
				https://github.com/dokku/buildpack-nginx.git
				synced 2025-10-31 11:56:30 +00:00 
			
		
		
		
	Compare commits
	
		
			38 Commits
		
	
	
		
			v19
			...
			aa191df661
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| aa191df661 | |||
| 7fe92f4821 | |||
| 25fb7889a5 | |||
| 6381244e26 | |||
| 7874622b04 | |||
| 0329f9e0ff | |||
| 043965bc7d | |||
| 3a1e442373 | |||
| 6a99e870e4 | |||
| ad5e831e74 | |||
| ed31137f94 | |||
| a68149bce7 | |||
| 6a592755ff | |||
| 2b95cd179b | |||
| 9b7f098ced | |||
| 7154c020a1 | |||
| a11d1ce303 | |||
| 53b41ec631 | |||
| c8eef60b09 | |||
| 09fe857895 | |||
| 31dc4746e2 | |||
| 59ea0b94e1 | |||
| 301d00c751 | |||
| 28328e4d90 | |||
| dce20c0a8f | |||
| 0e7bef86f9 | |||
| faf2a70272 | |||
| f981b138ed | |||
| 7794c2c36f | |||
| 22619107ab | |||
| 1a28ec8509 | |||
| e28d2049e5 | |||
| 6a73313edb | |||
| 648d73fda6 | |||
| 1769636cc8 | |||
| 6a9c79f8d0 | |||
| 7a1b16877d | |||
| c50c220ba4 | 
							
								
								
									
										23
									
								
								.github/workflows/review-app-cleanup.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								.github/workflows/review-app-cleanup.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,23 @@ | |||||||
|  | --- | ||||||
|  | name: 'review-app-cleanup' | ||||||
|  |  | ||||||
|  | # yamllint disable-line rule:truthy | ||||||
|  | on: | ||||||
|  |   # onl run this workflow on pull request events | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - closed | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   destroy_review_app: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Destroy the review app | ||||||
|  |         uses: dokku/github-action@master | ||||||
|  |         with: | ||||||
|  |           # destroy a review app | ||||||
|  |           command: review-apps:destroy | ||||||
|  |           git_remote_url: 'ssh://dokku@dokku.com/nginx-buildpack' | ||||||
|  |           # specify a name for the review app | ||||||
|  |           review_app_name: nginx-buildpack-${{ github.event.pull_request.number }} | ||||||
|  |           ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} | ||||||
							
								
								
									
										28
									
								
								.github/workflows/review-app.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								.github/workflows/review-app.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | |||||||
|  | --- | ||||||
|  | name: 'review-app' | ||||||
|  |  | ||||||
|  | # yamllint disable-line rule:truthy | ||||||
|  | on: | ||||||
|  |   # onl run this workflow on pull request events | ||||||
|  |   pull_request | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   review_app: | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     steps: | ||||||
|  |       - name: Cloning repo | ||||||
|  |         uses: actions/checkout@v2 | ||||||
|  |         with: | ||||||
|  |           fetch-depth: 0 | ||||||
|  |  | ||||||
|  |       - name: Push to dokku | ||||||
|  |         uses: dokku/github-action@master | ||||||
|  |         with: | ||||||
|  |           # create a review app | ||||||
|  |           command: review-apps:create | ||||||
|  |           git_remote_url: 'ssh://dokku@dokku.com/nginx-buildpack' | ||||||
|  |           # specify `--force` as a flag for git pushes | ||||||
|  |           git_push_flags: '--force' | ||||||
|  |           # specify a name for the review app | ||||||
|  |           review_app_name: nginx-buildpack-${{ github.event.pull_request.number }} | ||||||
|  |           ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} | ||||||
							
								
								
									
										28
									
								
								bin/ci-pre-deploy
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								bin/ci-pre-deploy
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,28 @@ | |||||||
|  | #!/bin/sh -l | ||||||
|  | if [ "$IS_REVIEW_APP" = "true" ]; then | ||||||
|  |   git config --global user.name 'Dokku Bot' | ||||||
|  |   git config --global user.email no-reply@dokku.com | ||||||
|  |  | ||||||
|  |   echo "-----> Purging repo cache" | ||||||
|  |   ssh "$SSH_REMOTE" -- repo:purge-cache "$APP_NAME" | ||||||
|  |  | ||||||
|  |   echo "-----> Setting the test domain name" | ||||||
|  |   ssh "$SSH_REMOTE" -- domains:set "$APP_NAME" "$APP_NAME.dokku.net" | ||||||
|  |  | ||||||
|  |   echo "-----> Ensure test includes vendored app-nginx.conf.sigil" | ||||||
|  |   cp conf/app-nginx.conf.sigil app-nginx.conf.sigil | ||||||
|  |   git add app-nginx.conf.sigil | ||||||
|  |   git commit -qm "feat: specify custom app-nginx.conf.sigil" | ||||||
|  |  | ||||||
|  |   echo "-----> Ensure test includes vendored mime.types" | ||||||
|  |   cp conf/mime.types mime.types | ||||||
|  |   git add mime.types | ||||||
|  |   git commit -qm "feat: specify custom mime.types" | ||||||
|  |  | ||||||
|  |   echo "-----> Setting the buildpack to the current ref $GITHUB_HEAD_REF" | ||||||
|  |   echo "https://github.com/${GITHUB_REPOSITORY}.git#$GITHUB_HEAD_REF" > .buildpacks | ||||||
|  |   git add .buildpacks | ||||||
|  |   git commit -qm "feat: specify $GITHUB_SHA as buildpack" | ||||||
|  |  | ||||||
|  |   git rev-parse HEAD >ci-commit-override | ||||||
|  | fi | ||||||
							
								
								
									
										37
									
								
								bin/compile
									
									
									
									
									
								
							
							
						
						
									
										37
									
								
								bin/compile
									
									
									
									
									
								
							| @ -1,25 +1,28 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
| # 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.17.0" | NGINX_VERSION="1.23.1" | ||||||
| NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz" | NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz" | ||||||
| PCRE_VERSION="8.45" | PCRE_VERSION="10.40" | ||||||
| PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz" | PCRE_TARBALL="pcre2-${PCRE_VERSION}.tar.gz" | ||||||
| SIGIL_VERSION="0.4.0" | SIGIL_VERSION="0.9.0" | ||||||
| SIGIL_TARBALL="sigil_${SIGIL_VERSION}_Linux_x86_64.tgz" | SIGIL_TARBALL="gliderlabs-sigil_${SIGIL_VERSION}_linux_amd64.tgz" | ||||||
| ZLIB_VERSION="1.2.11" | ZLIB_VERSION="1.2.12" | ||||||
| ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz" | ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz" | ||||||
|  |  | ||||||
| suppress() { | suppress() { | ||||||
|  |   /bin/rm --force /tmp/surpress.out 2>/dev/null | ||||||
|   # shellcheck disable=SC2069 |   # shellcheck disable=SC2069 | ||||||
|   /bin/rm --force /tmp/surpress.out 2> /dev/null; "$@" 2>&1 > /tmp/surpress.out || cat /tmp/surpress.out; /bin/rm /tmp/surpress.out; |   "$@" 2>&1 >/tmp/surpress.out || cat /tmp/surpress.out | ||||||
|  |   /bin/rm /tmp/surpress.out | ||||||
| } | } | ||||||
|  |  | ||||||
| # parse and derive params | # parse and derive params | ||||||
| BUILD_DIR=$1 | BUILD_DIR=$1 | ||||||
| CACHE_DIR=$2 | CACHE_DIR=$2 | ||||||
| CUR_DIR=$(cd "$(dirname "$0")"; cd ..; pwd) | CUR_DIR=$(cd "$(dirname "$0")" && cd .. && pwd) | ||||||
|  |  | ||||||
| mkdir -p "$BUILD_DIR" "$CACHE_DIR" | mkdir -p "$BUILD_DIR" "$CACHE_DIR" | ||||||
|  |  | ||||||
| @ -54,7 +57,7 @@ fi | |||||||
|  |  | ||||||
| if [[ ! -d "${PCRE_TARBALL%.tar.gz}" ]]; then | if [[ ! -d "${PCRE_TARBALL%.tar.gz}" ]]; then | ||||||
|   echo "-----> Download and unzip pcre ${PCRE_VERSION} via http" |   echo "-----> Download and unzip pcre ${PCRE_VERSION} via http" | ||||||
|   curl -sSL "https://downloads.sourceforge.net/project/pcre/pcre/${PCRE_VERSION}/${PCRE_TARBALL}" -o "${PCRE_TARBALL}" |   curl -sSL "https://github.com/PCRE2Project/pcre2/releases/download/pcre2-${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 | ||||||
|  |  | ||||||
| @ -66,12 +69,12 @@ fi | |||||||
|  |  | ||||||
| if [[ ! -f "sigil" ]]; then | if [[ ! -f "sigil" ]]; then | ||||||
|   echo "-----> Download and unzip sigil ${SIGIL_VERSION} via http" |   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}/gliderlabs-sigil_${SIGIL_VERSION}_linux_amd64.tgz" -o "${SIGIL_TARBALL}" | ||||||
|   tar xzf "${SIGIL_TARBALL}" && rm -rf "${SIGIL_TARBALL}" |   tar xzf "${SIGIL_TARBALL}" && rm -rf "${SIGIL_TARBALL}" | ||||||
| fi | fi | ||||||
|  |  | ||||||
| mkdir -p "$BUILD_DIR/sigil" | mkdir -p "$BUILD_DIR/sigil" | ||||||
| cp -r sigil "$BUILD_DIR/sigil/" | cp -r gliderlabs-sigil-amd64 "$BUILD_DIR/sigil/sigil" | ||||||
|  |  | ||||||
| cd "nginx-${NGINX_VERSION}" | cd "nginx-${NGINX_VERSION}" | ||||||
| if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then | if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then | ||||||
| @ -80,7 +83,7 @@ if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then | |||||||
|   suppress ./configure \ |   suppress ./configure \ | ||||||
|     --with-cpu-opt=generic \ |     --with-cpu-opt=generic \ | ||||||
|     --prefix="$BUILD_DIR/nginx" \ |     --prefix="$BUILD_DIR/nginx" \ | ||||||
|     --with-pcre=../pcre-${PCRE_VERSION} \ |     --with-pcre=../pcre2-${PCRE_VERSION} \ | ||||||
|     --sbin-path=. \ |     --sbin-path=. \ | ||||||
|     --pid-path=./nginx.pid \ |     --pid-path=./nginx.pid \ | ||||||
|     --conf-path=./nginx.conf \ |     --conf-path=./nginx.conf \ | ||||||
| @ -130,19 +133,19 @@ fi | |||||||
|  |  | ||||||
| # Update the PATH | # Update the PATH | ||||||
| mkdir -p "$BUILD_DIR/.profile.d" | mkdir -p "$BUILD_DIR/.profile.d" | ||||||
| cat > "$BUILD_DIR/.profile.d/nginx.sh" <<"EOF" | cat >"$BUILD_DIR/.profile.d/nginx.sh" <<"EOF" | ||||||
| export PATH="$PATH:$HOME/nginx" | export PATH="$PATH:$HOME/nginx" | ||||||
| EOF | EOF | ||||||
|  |  | ||||||
| cd "$CUR_DIR" | cd "$CUR_DIR" | ||||||
|  |  | ||||||
| # Add support for app-nginx.conf.sigil | # Add support for app-nginx.conf.sigil | ||||||
| if [ -f "$BUILD_DIR/app-nginx.conf.sigil" ] ; then | if [ -f "$BUILD_DIR/app-nginx.conf.sigil" ]; then | ||||||
|   echo "-----> Using user provided app-nginx.conf.sigil" |   echo "-----> Using user provided app-nginx.conf.sigil" | ||||||
|   cp "$BUILD_DIR/app-nginx.conf.sigil" "$BUILD_DIR/nginx/app-nginx.conf.sigil" |   cp "$BUILD_DIR/app-nginx.conf.sigil" "$BUILD_DIR/nginx/app-nginx.conf.sigil" | ||||||
|  |  | ||||||
| # Allow deprecated nginx.conf.erb | # Allow deprecated nginx.conf.erb | ||||||
| elif [ -f "$BUILD_DIR/nginx.conf.erb" ] ; then | elif [ -f "$BUILD_DIR/nginx.conf.erb" ]; then | ||||||
|   echo "-----> DEPRECATED: Using user provided nginx.conf.erb" |   echo "-----> DEPRECATED: Using user provided nginx.conf.erb" | ||||||
|   cp "$BUILD_DIR/nginx.conf.erb" "$BUILD_DIR/nginx/nginx.conf.erb" |   cp "$BUILD_DIR/nginx.conf.erb" "$BUILD_DIR/nginx/nginx.conf.erb" | ||||||
|  |  | ||||||
| @ -153,7 +156,7 @@ else | |||||||
| fi | fi | ||||||
|  |  | ||||||
| # build mime.types unless overridden by user | # build mime.types unless overridden by user | ||||||
| if [ -f "$BUILD_DIR/mime.types" ] ; then | if [ -f "$BUILD_DIR/mime.types" ]; then | ||||||
|   echo "-----> Using user provided mime.types" |   echo "-----> Using user provided mime.types" | ||||||
|   cp "$BUILD_DIR/mime.types" "$BUILD_DIR/nginx/mime.types" |   cp "$BUILD_DIR/mime.types" "$BUILD_DIR/nginx/mime.types" | ||||||
|  |  | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
| # bin/detect <build-dir> <cache-dir> | # bin/detect <build-dir> <cache-dir> | ||||||
| set -eo pipefail; [[ $TRACE ]] && set -x | set -eo pipefail | ||||||
|  | [[ $TRACE ]] && set -x | ||||||
|  |  | ||||||
| # Exit early if app is clearly not an nginx app | # Exit early if app is clearly not an nginx app | ||||||
| if [[ ! -f "$1/.static" ]]; then | if [[ ! -f "$1/.static" ]]; then | ||||||
|  | |||||||
| @ -1,6 +1,7 @@ | |||||||
| #!/usr/bin/env bash | #!/usr/bin/env bash | ||||||
| # bin/release <build-dir> | # bin/release <build-dir> | ||||||
| set -eo pipefail; [[ $TRACE ]] && set -x | set -eo pipefail | ||||||
|  | [[ $TRACE ]] && set -x | ||||||
|  |  | ||||||
| cat <<EOF | cat <<EOF | ||||||
| --- | --- | ||||||
|  | |||||||
							
								
								
									
										45
									
								
								site/index.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								site/index.html
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,45 @@ | |||||||
|  | <!doctype html> | ||||||
|  | <html> | ||||||
|  | <head> | ||||||
|  |     <title>Example Domain</title> | ||||||
|  |  | ||||||
|  |     <meta charset="utf-8" /> | ||||||
|  |     <meta http-equiv="Content-type" content="text/html; charset=utf-8" /> | ||||||
|  |     <meta name="viewport" content="width=device-width, initial-scale=1" /> | ||||||
|  |     <style type="text/css"> | ||||||
|  |     body { | ||||||
|  |         background-color: #f0f0f2; | ||||||
|  |         margin: 0; | ||||||
|  |         padding: 0; | ||||||
|  |         font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif; | ||||||
|  |     } | ||||||
|  |     div { | ||||||
|  |         width: 600px; | ||||||
|  |         margin: 5em auto; | ||||||
|  |         padding: 2em; | ||||||
|  |         background-color: #fdfdff; | ||||||
|  |         border-radius: 0.5em; | ||||||
|  |         box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02); | ||||||
|  |     } | ||||||
|  |     a:link, a:visited { | ||||||
|  |         color: #38488f; | ||||||
|  |         text-decoration: none; | ||||||
|  |     } | ||||||
|  |     @media (max-width: 700px) { | ||||||
|  |         div { | ||||||
|  |             margin: 0 auto; | ||||||
|  |             width: auto; | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |     </style> | ||||||
|  | </head> | ||||||
|  |  | ||||||
|  | <body> | ||||||
|  | <div> | ||||||
|  |     <h1>Example Domain</h1> | ||||||
|  |     <p>This domain is for use in illustrative examples in documents. You may use this | ||||||
|  |     domain in literature without prior coordination or asking for permission.</p> | ||||||
|  |     <p><a href="https://www.iana.org/domains/example">More information...</a></p> | ||||||
|  | </div> | ||||||
|  | </body> | ||||||
|  | </html> | ||||||
							
								
								
									
										2
									
								
								site/robots.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								site/robots.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,2 @@ | |||||||
|  | User-agent: * | ||||||
|  | Disallow: / | ||||||
		Reference in New Issue
	
	Block a user
	