mirror of
https://github.com/dokku/buildpack-nginx.git
synced 2025-06-26 18:40:45 +00:00
Compare commits
35 Commits
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 |
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.
|
||||||
|
|
||||||
|
21
bin/compile
21
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.9"
|
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 "https://github.com/madler/zlib/archive/v${ZLIB_VERSION}.tar.gz" -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