It is highly recommended that you use container orchestration software such as Docker Compose when using this NGINX Host unit as several Docker containers are required for operation. This guide will assume that you are using Docker Compose.
To begin, start with a basic
docker-compose.yml file as described in the
NGINX Host configuration guide. Then, add a
service for the NGINX Host static content unit (named
static: image: handcraftedbits/nginx-unit-static environment: - NGINX_UNIT_HOSTS=mysite.com - NGINX_URL_PREFIX=/static volumes: - data:/opt/container/shared - /home/me/www-static:/opt/container/www-static
Observe the following:
- We mount
/opt/container/www-staticusing the local directory
/home/me/www-static. This is the directory containing the static content that we will be hosting.
- As with any other NGINX Host unit, we mount our data volume, in this case named
Finally, we need to create a link in our NGINX Host container to the
static container in order to host the static
content. Here is our final
version: "2.1" volumes: data: services: proxy: image: handcraftedbits/nginx-host links: - static ports: - "443:443" volumes: - data:/opt/container/shared - /etc/letsencrypt:/etc/letsencrypt - /home/me/dhparam.pem:/etc/ssl/dhparam.pem static: image: handcraftedbits/nginx-unit-static environment: - NGINX_UNIT_HOSTS=mysite.com - NGINX_URL_PREFIX=/static volumes: - data:/opt/container/shared - /home/me/www-static:/opt/container/www-static
This will result in making the static content available at
Running the NGINX Host Static Content Unit
Assuming you are using Docker Compose, simply run
docker-compose up in the same directory as your
docker-compose.yml file. Otherwise, you will need to start each container with
docker run or a suitable
alternative, making sure to add the appropriate environment variables and volume references.
Please see the NGINX Host documentation for information on the environment variables understood by this unit.