Go to file
Jose Diaz-Gonzalez ec66a23266
Merge pull request #74 from pablobm/explain-mimetypes-file
Document: users can provide their own `mime.types`
2024-01-19 20:11:38 -05:00
.github/workflows feat: always deploy latest on merge to master 2023-08-20 21:42:53 -04:00
bin feat: upgrade nginx to 1.25.2 2023-08-20 21:14:00 -04:00
conf Add wasm mime type 2023-04-16 20:33:18 +07:00
site chore: ensure robots do not crawl these test domains 2022-09-10 18:09:55 -04:00
.gitignore add .gitignore 2016-07-27 20:48:14 -04:00
.static feat: add initial files needed to deploy this as a site for testing purposes 2022-09-10 17:24:45 -04:00
LICENSE Relicense to CC0 2013-11-11 16:09:17 -08:00
Makefile Disable a shellcheck rule 2016-09-20 01:31:19 -06:00
README.md Doc: users can provide their own `mime.types` 2023-12-19 08:18:45 +00:00



This is the official dokku buildpack for static websites, powered by nginx.


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.


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 users can use this buildpack by running the following command:

heroku buildpacks:set https://github.com/dokku/buildpack-nginx.git


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.

# 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.

# where the app is named `static-app`
# and the desired default response is index.html
dokku config:set static-app NGINX_DEFAULT_REQUEST=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. This will be used inside of the container, and not by the host Dokku instance. See the sigil project for more information concerning the sigil format.

Custom MIME types

Files will be served with a Content-Type according to a list of supported MIME types at conf/mime.types. If you need to serve files of a MIME type not included in the list, you can provide your own mime.types file in the root.

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.

Florian Heinemann