Skip to content

Commit

Permalink
Added documentation on how to use envsubst to generate nginx config
Browse files Browse the repository at this point in the history
  • Loading branch information
vidarl committed Jan 15, 2016
1 parent c9cb00a commit af7fb12
Showing 1 changed file with 23 additions and 0 deletions.
23 changes: 23 additions & 0 deletions nginx/content.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,3 +63,26 @@ Then, build with `docker build -t some-custom-nginx .` and run:
```console
$ docker run --name some-nginx -d some-custom-nginx
```

### using environment variables in nginx configuration

Out-of-the-box, Nginx doesn't support using environment variables inside most configuration blocks. But `envsubst` may be used as a workaround if you need to generate your nginx configuration dynamically before nginx starts.

Here is an example using docker-compose.yml:

```web:
image: nginx
volumes:
- ./mysite.template:/etc/nginx/conf.d/mysite.template
ports:
- "8080:80"
environment:
- NGINX_HOST=foobar.com
- NGINX_PORT=80
command: /bin/bash -c "envsubst < /etc/nginx/conf.d/mysite.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
```

The `mysite.template` file may then contain variable references like this :

`listen ${NGINX_PORT};
`

0 comments on commit af7fb12

Please sign in to comment.