mirror of
https://github.com/dokku/buildpack-nginx.git
synced 2025-06-26 18:40:45 +00:00
Compare commits
85 Commits
Author | SHA1 | Date | |
---|---|---|---|
6c1abc0547 | |||
6672b6257a | |||
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 | |||
c8ab63c69b | |||
c2748f137e | |||
dd3ac20c6d | |||
8848e945b9 | |||
e7684a0f2c | |||
fb081cabb2 | |||
b69c1f3854 | |||
9c7cde74ad | |||
c4c93aebe0 | |||
8348cbde99 | |||
1b0c929144 | |||
ed2e482ed9 | |||
aa23156a8e | |||
c4ad67f9de | |||
7251f38a51 | |||
8797219a4b | |||
c947e409e8 | |||
28d1a580cf | |||
b9842399a3 | |||
bb20210245 | |||
d3a90d7520 | |||
fabd871741 | |||
6430fa286b | |||
b4bd0c0b1f | |||
06888793b1 | |||
7e7e9be442 | |||
fd73b73748 | |||
e1efa9a3a2 | |||
f1d835dd90 | |||
ca7b083aad | |||
b7d61bbea4 | |||
d4f83febf9 | |||
bb6e9d398d | |||
513791b391 | |||
2e9a75e96b | |||
9c43925fac | |||
640f6d396a | |||
3a20517687 | |||
afa0a94343 | |||
ce6895ef38 | |||
6b7fd744ce | |||
9d273c7607 | |||
7d773187bb | |||
847b25b51d | |||
12fe84ae6b | |||
770f4feb42 |
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.idea
|
20
Makefile
Normal file
20
Makefile
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
shellcheck:
|
||||||
|
ifeq ($(shell shellcheck > /dev/null 2>&1 ; echo $$?),127)
|
||||||
|
ifeq ($(shell uname),Darwin)
|
||||||
|
brew install shellcheck
|
||||||
|
else
|
||||||
|
sudo add-apt-repository 'deb http://archive.ubuntu.com/ubuntu trusty-backports main restricted universe multiverse'
|
||||||
|
sudo apt-get update -qq && sudo apt-get install -qq -y shellcheck
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
ci-dependencies: shellcheck
|
||||||
|
|
||||||
|
lint:
|
||||||
|
@echo linting...
|
||||||
|
@$(QUIET) find ./ -maxdepth 2 -not -path '*/\.*' | xargs file | egrep "shell|bash" | awk '{ print $$1 }' | sed 's/://g' | xargs shellcheck -e SC2069
|
||||||
|
|
||||||
|
setup:
|
||||||
|
$(MAKE) ci-dependencies
|
||||||
|
|
||||||
|
test: setup lint
|
35
README.md
35
README.md
@ -1,20 +1,33 @@
|
|||||||
# NGINX Buildpack for Dokku - Hosting static pages
|
# heroku-buildpack-nginx
|
||||||
This buildpack has been successfully run on Digital Ocean instances of Ubuntu 14.04 (Status: Jan 2015). It might also work with different configurations.
|
|
||||||
|
|
||||||
## Purpose
|
This is the official dokku buildpack for static websites, powered by nginx.
|
||||||
`buildpack-nginx` provides a simple, low overhead way of hosting static pages and websites on Dokku. Just add the `.env` and `.static` file to the root directory of your website as described below.
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
1. Add a file with the name `.env` in the root of your directory with the following content: `export BUILDPACK_URL=https://github.com/florianheinemann/buildpack-nginx.git`
|
|
||||||
2. Add another, *empty* file called `.static` to your root directory of your web project. It signals that this buildpack shall be used
|
|
||||||
3. Push your project to Dokku
|
|
||||||
|
|
||||||
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.
|
||||||
|
|
||||||
## NGINX CONFIGURATION
|
### Dokku
|
||||||
Override default configuration by adding `nginx.conf.erb` in the root directory. You can also override the nginx root by setting `$NGINX_ROOT`
|
|
||||||
|
To trigger detection of this buildpack you need to add a dotfile:
|
||||||
|
|
||||||
|
Add an *empty* file called `.static` to your root directory of your web project (regardless if you use a custom value for NGINX_ROOT)
|
||||||
|
|
||||||
|
### Heroku
|
||||||
|
|
||||||
|
Heroku users can use this buildpack by running the following command:
|
||||||
|
|
||||||
|
```
|
||||||
|
heroku buildpacks:set https://github.com/dokku/buildpack-nginx.git
|
||||||
|
```
|
||||||
|
|
||||||
|
## 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).
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
## Credits and License
|
## Credits and License
|
||||||
`buildpack-nginx` is licensed under the CC0 1.0 Universal license and has been informed by many similar projects on the web
|
|
||||||
|
`buildpack-nginx` is licensed under the CC0 1.0 Universal license and has been informed by many similar projects on the web.
|
||||||
|
|
||||||
[Florian Heinemann](http://twitter.com/TheSumOfAll/)
|
[Florian Heinemann](http://twitter.com/TheSumOfAll/)
|
||||||
|
144
bin/compile
144
bin/compile
@ -1,77 +1,96 @@
|
|||||||
#!/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 -e
|
NGINX_VERSION="1.17.0"
|
||||||
set -o pipefail
|
|
||||||
|
|
||||||
# Nginx 1.6.2
|
|
||||||
NGINX_VERSION="1.6.2"
|
|
||||||
NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz"
|
NGINX_TARBALL="nginx-${NGINX_VERSION}.tar.gz"
|
||||||
PCRE_VERSION="8.38"
|
PCRE_VERSION="8.45"
|
||||||
PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz"
|
PCRE_TARBALL="pcre-${PCRE_VERSION}.tar.gz"
|
||||||
ZLIB_VERSION="1.2.8"
|
SIGIL_VERSION="0.4.0"
|
||||||
|
SIGIL_TARBALL="sigil_${SIGIL_VERSION}_Linux_x86_64.tgz"
|
||||||
|
ZLIB_VERSION="1.2.11"
|
||||||
ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz"
|
ZLIB_TARBALL="zlib-${ZLIB_VERSION}.tar.gz"
|
||||||
|
|
||||||
|
suppress() {
|
||||||
|
# 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;
|
||||||
|
}
|
||||||
|
|
||||||
# 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"
|
||||||
|
|
||||||
if [[ ! -e "$BUILD_DIR/www" ]]; then
|
if [[ ! -e "${BUILD_DIR}/www" ]]; then
|
||||||
echo "-----> copy static files to www"
|
echo "-----> Copy static files to www"
|
||||||
rm -rf $CACHE_DIR/www
|
rm -rf "${CACHE_DIR}/www"
|
||||||
mkdir -p $CACHE_DIR/www
|
mkdir -p "${CACHE_DIR}/www"
|
||||||
mv $BUILD_DIR/* $CACHE_DIR/www
|
|
||||||
mkdir -p $BUILD_DIR/www
|
# shellcheck disable=SC2086
|
||||||
mv $CACHE_DIR/www/* $BUILD_DIR/www
|
mv $BUILD_DIR/* "${CACHE_DIR}/www"
|
||||||
# Check for an copy the nginx conf file override to the build dir
|
mkdir -p "${BUILD_DIR}/www"
|
||||||
[[ -f "$BUILD_DIR/www/nginx.conf.erb" ]] && mv $BUILD_DIR/www/nginx.conf.erb $BUILD_DIR
|
|
||||||
[[ -f "$BUILD_DIR/www/CHECKS" ]] && mv $BUILD_DIR/www/CHECKS $BUILD_DIR
|
# shellcheck disable=SC2086
|
||||||
rm -rf $CACHE_DIR/www
|
mv ${CACHE_DIR}/www/* "${BUILD_DIR}/www"
|
||||||
|
# Check for a copy the nginx conf file override to the build dir
|
||||||
|
[[ -f "${BUILD_DIR}/www/nginx.conf.erb" ]] && mv "${BUILD_DIR}/www/nginx.conf.erb" "${BUILD_DIR}"
|
||||||
|
[[ -f "${BUILD_DIR}/www/nginx.conf.sigil" ]] && mv "${BUILD_DIR}/www/nginx.conf.sigil" "${BUILD_DIR}"
|
||||||
|
[[ -f "${BUILD_DIR}/www/app-nginx.conf.sigil" ]] && mv "${BUILD_DIR}/www/app-nginx.conf.sigil" "${BUILD_DIR}"
|
||||||
|
[[ -f "${BUILD_DIR}/www/mime.types" ]] && mv "${BUILD_DIR}/www/mime.types" "${BUILD_DIR}"
|
||||||
|
[[ -f "${BUILD_DIR}/www/CHECKS" ]] && mv "${BUILD_DIR}/www/CHECKS" "${BUILD_DIR}"
|
||||||
|
[[ -f "${BUILD_DIR}/www/app.json" ]] && mv "${BUILD_DIR}/www/app.json" "${BUILD_DIR}"
|
||||||
|
rm -rf "${CACHE_DIR}/www"
|
||||||
fi
|
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 "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 "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 "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
|
||||||
|
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}"
|
||||||
|
tar xzf "${SIGIL_TARBALL}" && rm -rf "${SIGIL_TARBALL}"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "$BUILD_DIR/sigil"
|
||||||
|
cp -r sigil "$BUILD_DIR/sigil/"
|
||||||
|
|
||||||
cd "nginx-${NGINX_VERSION}"
|
cd "nginx-${NGINX_VERSION}"
|
||||||
if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then
|
if [[ ! -f "${CACHE_DIR}/bin/nginx" ]]; then
|
||||||
echo "-----> compile static nginx"
|
echo "-----> Compiling static nginx binary"
|
||||||
mkdir $BUILD_DIR/nginx
|
mkdir "$BUILD_DIR/nginx"
|
||||||
./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=../pcre-${PCRE_VERSION} \
|
||||||
--sbin-path=. \
|
--sbin-path=. \
|
||||||
--pid-path=./nginx.pid \
|
--pid-path=./nginx.pid \
|
||||||
--conf-path=./nginx.conf \
|
--conf-path=./nginx.conf \
|
||||||
--with-ld-opt="-static" \
|
--with-ld-opt="-static" \
|
||||||
--with-http_spdy_module \
|
|
||||||
--with-http_stub_status_module \
|
--with-http_stub_status_module \
|
||||||
--with-http_gzip_static_module \
|
--with-http_gzip_static_module \
|
||||||
--with-file-aio \
|
--with-file-aio \
|
||||||
--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 \
|
||||||
@ -81,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 \
|
||||||
@ -93,53 +111,67 @@ 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
|
||||||
|
|
||||||
make && make install
|
suppress make && suppress make install
|
||||||
|
|
||||||
rm -rf $CACHE_DIR/bin && mkdir -p $CACHE_DIR/bin/
|
rm -rf "${CACHE_DIR:?}/bin" && mkdir -p "$CACHE_DIR/bin/"
|
||||||
cp -r $BUILD_DIR/nginx/* $CACHE_DIR/bin/
|
# shellcheck disable=SC2086
|
||||||
|
cp -r $BUILD_DIR/nginx/* "$CACHE_DIR/bin/"
|
||||||
|
|
||||||
else
|
else
|
||||||
echo "-----> reuse nginx from cache"
|
echo "-----> Reusing nginx binary from cache"
|
||||||
mkdir -p $BUILD_DIR/nginx
|
mkdir -p "$BUILD_DIR/nginx"
|
||||||
cp -r $CACHE_DIR/bin/* $BUILD_DIR/nginx/
|
# shellcheck disable=SC2086
|
||||||
|
cp -r $CACHE_DIR/bin/* "$BUILD_DIR/nginx/"
|
||||||
fi
|
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
|
||||||
|
if [ -f "$BUILD_DIR/app-nginx.conf.sigil" ] ; then
|
||||||
|
echo "-----> Using user provided app-nginx.conf.sigil"
|
||||||
|
cp "$BUILD_DIR/app-nginx.conf.sigil" "$BUILD_DIR/nginx/app-nginx.conf.sigil"
|
||||||
|
|
||||||
# Test for user override on nginx config...
|
# Allow deprecated nginx.conf.erb
|
||||||
if [ -f $BUILD_DIR/nginx.conf.erb ] ; then
|
elif [ -f "$BUILD_DIR/nginx.conf.erb" ] ; then
|
||||||
echo "-----> 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"
|
||||||
#rm $BUILD_DIR/nginx.conf.erb
|
|
||||||
|
|
||||||
# ...else, force default file
|
# ...else, force default file
|
||||||
else
|
else
|
||||||
echo "-----> using default nginx.conf.erb"
|
echo "-----> Using default app-nginx.conf.sigil"
|
||||||
cp conf/nginx.conf.erb $BUILD_DIR/nginx/nginx.conf.erb
|
cp conf/app-nginx.conf.sigil "$BUILD_DIR/nginx/app-nginx.conf.sigil"
|
||||||
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 default mime.types"
|
echo "-----> Using user provided mime.types"
|
||||||
cp conf/mime.types $BUILD_DIR/nginx/mime.types
|
cp "$BUILD_DIR/mime.types" "$BUILD_DIR/nginx/mime.types"
|
||||||
#fi
|
|
||||||
|
else
|
||||||
|
echo "-----> Using default mime.types"
|
||||||
|
cp conf/mime.types "$BUILD_DIR/nginx/mime.types"
|
||||||
|
fi
|
||||||
|
|
||||||
# build a startup script
|
# build a startup script
|
||||||
cat <<EOF >"$BUILD_DIR/start_nginx"
|
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
|
||||||
erb /app/nginx/nginx.conf.erb > /app/nginx/nginx.conf
|
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
|
||||||
|
else
|
||||||
|
erb /app/nginx/nginx.conf.erb > /app/nginx/nginx.conf
|
||||||
|
fi
|
||||||
exec /app/nginx/nginx -p /app/nginx -c /app/nginx/nginx.conf
|
exec /app/nginx/nginx -p /app/nginx -c /app/nginx/nginx.conf
|
||||||
EOF
|
EOF
|
||||||
chmod +x "$BUILD_DIR/start_nginx"
|
chmod +x "$BUILD_DIR/start_nginx"
|
||||||
|
11
bin/detect
11
bin/detect
@ -1,9 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
set -e
|
# bin/detect <build-dir> <cache-dir>
|
||||||
|
set -eo pipefail; [[ $TRACE ]] && set -x
|
||||||
|
|
||||||
if [[ -f $1/.static ]]; then
|
# Exit early if app is clearly not an nginx app
|
||||||
echo ".static"
|
if [[ ! -f "$1/.static" ]]; then
|
||||||
exit 0
|
|
||||||
else
|
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
echo ".static"
|
||||||
|
@ -1,10 +1,10 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
# bin/release <build-dir>
|
# bin/release <build-dir>
|
||||||
|
set -eo pipefail; [[ $TRACE ]] && set -x
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
---
|
---
|
||||||
|
addons: []
|
||||||
addons:
|
|
||||||
default_process_types:
|
default_process_types:
|
||||||
web: /app/start_nginx
|
web: /app/start_nginx
|
||||||
EOF
|
EOF
|
||||||
|
@ -10,14 +10,20 @@ 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 <%= ENV["PORT"] %>;
|
listen {{ $.PORT }};
|
||||||
server_name _;
|
server_name _;
|
||||||
<% if ENV["NGINX_ROOT"] %>
|
{{ if ne $.NGINX_ROOT "" }}
|
||||||
root /app/www/<%= ENV["NGINX_ROOT"] %>;
|
root /app/www/{{ $.NGINX_ROOT }};
|
||||||
<% else %>
|
{{ else }}
|
||||||
root /app/www;
|
root /app/www;
|
||||||
<% end %>
|
{{ end }}
|
||||||
index index.html;
|
index index.html;
|
||||||
|
port_in_redirect off;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
try_files $uri $uri/ =404;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -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