1
0
mirror of https://github.com/dokku/buildpack-nginx.git synced 2025-07-04 05:00:46 +00:00

37 Commits

Author SHA1 Message Date
14c274186a Merge pull request #73 from dokku/deploy-on-ci
feat: always deploy latest on merge to master
2023-08-20 21:48:59 -04:00
863aab6f36 feat: always deploy latest on merge to master 2023-08-20 21:42:53 -04:00
2f08d686ff Merge pull request #72 from dokku/josegonzalez-patch-1
feat: upgrade nginx to 1.25.2
2023-08-20 21:34:17 -04:00
936c024eac feat: upgrade nginx to 1.25.2 2023-08-20 21:14:00 -04:00
e833f6afad Merge pull request #71 from dokku/josegonzalez-patch-1
feat: upgrade zlib to 1.3
2023-08-20 21:12:52 -04:00
3221fc1b85 feat: upgrade zlib to 1.3 2023-08-20 20:53:40 -04:00
10d257b7ad Merge pull request #70 from dokku/josegonzalez-patch-1
feat: upgrade pcre2 to 10.42
2023-08-20 20:22:00 -04:00
b701653bda feat: upgrade pcre2 to 10.42 2023-08-20 20:17:09 -04:00
a6dd42bddb Merge pull request #69 from dokku/josegonzalez-patch-1
feat: upgrade sigil to 0.10.1
2023-08-20 20:16:12 -04:00
130b184ec3 feat: upgrade sigil to 0.10.1 2023-08-20 20:09:55 -04:00
e26103764e Merge pull request #67 from Firfi/patch-1
Add wasm mime type
2023-05-13 12:43:49 -04:00
eeb2caf824 Add wasm mime type
This is needed for support of WASM standard' https://www.w3.org/TR/wasm-web-api-1/#streaming-modules instantiateStreaming and compileStreaming, 

and causes errors like

```
WASM: wasm streaming compile failed: TypeError: Failed to execute 'compile' on 'WebAssembly': Incorrect response MIME type. Expected 'application/wasm'.
```

since plain text is returned instead.

It also doesn't seem to be easily fixable even with `nginx.conf.sigil` substitution
2023-04-16 20:33:18 +07:00
61bfffb6c6 Merge pull request #66 from fc-anjos/docs/nginx_default_request
Fix NGINX_DEFAULT_REQUEST snippet
2023-01-18 15:17:37 -05:00
bcbf61b1f5 fix NGINX_DEFAULT_REQUEST snippet 2023-01-18 17:09:43 -03:00
8345d0a22a Merge pull request #65 from dokku/64-catch-bin-error
Ensure we check for the right sigil binary
2022-09-12 10:53:59 -04:00
8560e5b5a9 fix: ensure we check for the right binary
Closes #64
2022-09-12 10:22:04 -04:00
aa191df661 Merge pull request #63 from dokku/upgrade-pcre
Upgrade pcre to pcre2
2022-09-10 21:09:31 -04:00
7fe92f4821 chore: remove extra debug statement 2022-09-10 21:05:23 -04:00
25fb7889a5 fix: build against the correct directory 2022-09-10 21:02:04 -04:00
6381244e26 debug: where is the pcre2 output 2022-09-10 20:57:21 -04:00
7874622b04 feat: upgrade pcre to pcre2 2022-09-10 20:54:48 -04:00
0329f9e0ff Merge pull request #62 from dokku/upgrade-nginx
Upgrade nginx to 1.23.1
2022-09-10 20:50:42 -04:00
043965bc7d feat: upgrade nginx to 1.23.1 2022-09-10 20:46:19 -04:00
3a1e442373 Merge pull request #61 from dokku/upgrade-sigil
Upgrade sigil to 0.9.0
2022-09-10 20:44:47 -04:00
6a99e870e4 fix: copy the new binary into the correct place 2022-09-10 20:42:01 -04:00
ad5e831e74 chore: debug 2022-09-10 20:36:01 -04:00
ed31137f94 feat: upgrade sigil to 0.9.0 2022-09-10 20:31:57 -04:00
a68149bce7 Merge pull request #60 from dokku/upgrade-zlib
Upgrade zlib to 1.2.12
2022-09-10 20:30:21 -04:00
6a592755ff feat: upgrade zlib to 1.2.12 2022-09-10 20:27:47 -04:00
2b95cd179b Merge pull request #59 from dokku/test-conf
Ensure test runs against vendored app-nginx.conf.sigil and mime.types
2022-09-10 20:23:40 -04:00
9b7f098ced fix: add whitespace 2022-09-10 20:20:44 -04:00
7154c020a1 fix: use GITHUB_HEAD_REF instead 2022-09-10 20:14:49 -04:00
a11d1ce303 refactor: use ref name instead of sha 2022-09-10 20:11:49 -04:00
53b41ec631 fix: override commit being deployed 2022-09-10 19:58:50 -04:00
c8eef60b09 test: ensure test runs against vendored app-nginx.conf.sigil and mime.types 2022-09-10 18:56:55 -04:00
09fe857895 Merge pull request #58 from dokku/correct-remote-host
fix: use correct remote host
2022-09-10 18:29:17 -04:00
31dc4746e2 fix: use correct remote host 2022-09-10 18:25:08 -04:00
6 changed files with 62 additions and 18 deletions

26
.github/workflows/build.yml vendored Normal file
View File

@ -0,0 +1,26 @@
---
name: 'review-app'
# yamllint disable-line rule:truthy
on:
push:
branches:
- master
- main
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:
git_remote_url: 'ssh://dokku@dokku.com/nginx-buildpack'
# specify `--force` as a flag for git pushes
git_push_flags: '--force'
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}

View File

@ -17,7 +17,7 @@ jobs:
with: with:
# destroy a review app # destroy a review app
command: review-apps:destroy command: review-apps:destroy
git_remote_url: 'ssh://dokku@dokku.me:22/nginx-buildpack' git_remote_url: 'ssh://dokku@dokku.com/nginx-buildpack'
# specify a name for the review app # specify a name for the review app
review_app_name: nginx-buildpack-${{ github.event.pull_request.number }} review_app_name: nginx-buildpack-${{ github.event.pull_request.number }}
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }} ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}

View File

@ -39,7 +39,7 @@ By default, this buildpack will 404 if a requested file is not found. For static
```shell ```shell
# where the app is named `static-app` # where the app is named `static-app`
# and the desired default response is index.html # and the desired default response is index.html
dokku config:set static-app NGINX_ROOT=index.html dokku config:set static-app NGINX_DEFAULT_REQUEST=index.html
``` ```
### Custom nginx config file ### Custom nginx config file

View File

@ -1,15 +1,28 @@
#!/bin/sh -l #!/bin/sh -l
if [ "$IS_REVIEW_APP" = "true" ]; then 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" echo "-----> Purging repo cache"
ssh "$SSH_REMOTE" -- repo:purge-cache "$APP_NAME" ssh "$SSH_REMOTE" -- repo:purge-cache "$APP_NAME"
echo "-----> Setting the test domain name" echo "-----> Setting the test domain name"
ssh "$SSH_REMOTE" -- domains:set "$APP_NAME" "$APP_NAME.dokku.net" ssh "$SSH_REMOTE" -- domains:set "$APP_NAME" "$APP_NAME.dokku.net"
echo "-----> Setting the buildpack to the current commit" echo "-----> Ensure test includes vendored app-nginx.conf.sigil"
echo "https://github.com/${GITHUB_REPOSITORY}.git#$GITHUB_SHA" > .buildpacks 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 add .buildpacks
git config --global user.name 'Dokku Bot'
git config --global user.email no-reply@dokku.com
git commit -qm "feat: specify $GITHUB_SHA as buildpack" git commit -qm "feat: specify $GITHUB_SHA as buildpack"
git rev-parse HEAD >ci-commit-override
fi fi

View File

@ -3,13 +3,13 @@
set -eo pipefail set -eo pipefail
[[ $TRACE ]] && set -x [[ $TRACE ]] && set -x
NGINX_VERSION="1.17.0" NGINX_VERSION="1.25.2"
NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz" NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz"
PCRE_VERSION="8.45" PCRE_VERSION="10.42"
PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz" PCRE_TARBALL="pcre2-${PCRE_VERSION}.tar.gz"
SIGIL_VERSION="0.4.0" SIGIL_VERSION="0.10.1"
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.3"
ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz" ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz"
suppress() { suppress() {
@ -57,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
@ -67,14 +67,18 @@ if [[ ! -d "${ZLIB_TARBALL%.tar.gz}" ]]; then
tar xzf "${ZLIB_TARBALL}" && rm -rf "${ZLIB_TARBALL}" tar xzf "${ZLIB_TARBALL}" && rm -rf "${ZLIB_TARBALL}"
fi fi
if [[ ! -f "sigil" ]]; then if [[ ! -f "gliderlabs-sigil-amd64" ]]; 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/" if [[ ! -f "gliderlabs-sigil-amd64" ]]; then
echo " ! Missing gliderlabs-sigil-amd64 binary"
exit 1
fi
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
@ -83,7 +87,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 \

View File

@ -39,6 +39,7 @@ types {
application/vnd.wap.wmlc wmlc; application/vnd.wap.wmlc wmlc;
application/vnd.google-earth.kml+xml kml; application/vnd.google-earth.kml+xml kml;
application/vnd.google-earth.kmz kmz; application/vnd.google-earth.kmz kmz;
application/wasm wasm;
application/x-7z-compressed 7z; application/x-7z-compressed 7z;
application/x-cocoa cco; application/x-cocoa cco;
application/x-java-archive-diff jardiff; application/x-java-archive-diff jardiff;