mirror of
https://github.com/dokku/buildpack-nginx.git
synced 2025-06-26 18:40:45 +00:00
Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
91c41476ae | |||
90c8bd9365 | |||
89196adbf1 | |||
dbbbcc2c3e | |||
daa9549fb7 | |||
66b91f18e4 | |||
6c1abc0547 | |||
6672b6257a |
22
README.md
22
README.md
@ -22,7 +22,27 @@ 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 (for example `dokku config:set <app> NGINX_ROOT=_site` if you are deploying a Jekyll site).
|
### Custom nginx root
|
||||||
|
|
||||||
|
You can override the nginx root via setting the `NGINX_ROOT` environment variable. This should be a relative path in your repository.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# where the app is named `static-app`
|
||||||
|
# and the root dir is _site
|
||||||
|
dokku config:set static-app NGINX_ROOT=_site
|
||||||
|
````
|
||||||
|
|
||||||
|
### Default to index for history routing
|
||||||
|
|
||||||
|
By default, this buildpack will 404 if a requested file is not found. For static sites that use the browser's history router to show the correct context, setting the `NGINX_DEFAULT_REQUEST` to a specific file will override this.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
# where the app is named `static-app`
|
||||||
|
# and the desired default response is index.html
|
||||||
|
dokku config:set static-app NGINX_ROOT=index.html
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom nginx config file
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
|
@ -87,6 +87,7 @@ if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then
|
|||||||
--with-ld-opt="-static" \
|
--with-ld-opt="-static" \
|
||||||
--with-http_stub_status_module \
|
--with-http_stub_status_module \
|
||||||
--with-http_gzip_static_module \
|
--with-http_gzip_static_module \
|
||||||
|
--with-http_ssl_module \
|
||||||
--with-file-aio \
|
--with-file-aio \
|
||||||
--with-zlib=../zlib-${ZLIB_VERSION} \
|
--with-zlib=../zlib-${ZLIB_VERSION} \
|
||||||
--with-pcre \
|
--with-pcre \
|
||||||
@ -94,7 +95,6 @@ if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then
|
|||||||
--without-http_ssi_module \
|
--without-http_ssi_module \
|
||||||
--without-http_userid_module \
|
--without-http_userid_module \
|
||||||
--without-http_access_module \
|
--without-http_access_module \
|
||||||
--without-http_auth_basic_module \
|
|
||||||
--without-http_autoindex_module \
|
--without-http_autoindex_module \
|
||||||
--without-http_geo_module \
|
--without-http_geo_module \
|
||||||
--without-http_map_module \
|
--without-http_map_module \
|
||||||
@ -144,7 +144,7 @@ if [ -f "$BUILD_DIR/app-nginx.conf.sigil" ] ; then
|
|||||||
|
|
||||||
# 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"
|
||||||
|
|
||||||
# ...else, force default file
|
# ...else, force default file
|
||||||
@ -168,7 +168,7 @@ cat <<EOF >"$BUILD_DIR/start_nginx"
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
rm -f /app/nginx/nginx.conf
|
rm -f /app/nginx/nginx.conf
|
||||||
if [[ -f /app/nginx/app-nginx.conf.sigil ]]; then
|
if [[ -f /app/nginx/app-nginx.conf.sigil ]]; then
|
||||||
/app/sigil/sigil -f /app/nginx/app-nginx.conf.sigil NGINX_ROOT="\$NGINX_ROOT" PORT="\$PORT" | cat -s > /app/nginx/nginx.conf
|
/app/sigil/sigil -f /app/nginx/app-nginx.conf.sigil NGINX_ROOT="\$NGINX_ROOT" NGINX_DEFAULT_REQUEST="\$NGINX_DEFAULT_REQUEST" PORT="\$PORT" | cat -s > /app/nginx/nginx.conf
|
||||||
else
|
else
|
||||||
erb /app/nginx/nginx.conf.erb > /app/nginx/nginx.conf
|
erb /app/nginx/nginx.conf.erb > /app/nginx/nginx.conf
|
||||||
fi
|
fi
|
||||||
|
@ -23,7 +23,11 @@ http {
|
|||||||
port_in_redirect off;
|
port_in_redirect off;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
try_files $uri $uri/ /index.html;
|
{{ if ne $.NGINX_DEFAULT_REQUEST "" }}
|
||||||
|
try_files $uri $uri/ /{{ $.NGINX_DEFAULT_REQUEST }};
|
||||||
|
{{ else }}
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
{{ end }}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user