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 go-import-redirector unit (named
redirector: image: handcraftedbits/nginx-unit-go-import-redirector environment: - NGINX_UNIT_HOSTS=mysite.com - NGINX_URL_PREFIX=/go - REDIRECTOR_IMPORT=mysite.com/go/* - REDIRECTOR_REPO=https://github.com/mysite/* volumes: - data:/opt/container/shared
Observe the following:
- Several environment variables are used to configure go-import-redirector. See the
environment variable reference and
go-import-redirector documentation for additional information.
- 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
redirector container in order to host
go-import-redirector. Here is our final
version: "2.1" volumes: data: services: proxy: image: handcraftedbits/nginx-host links: - redirector ports: - "443:443" volumes: - data:/opt/container/shared - /etc/letsencrypt:/etc/letsencrypt - /home/me/dhparam.pem:/etc/ssl/dhparam.pem redirector: image: handcraftedbits/nginx-unit-go-import-redirector environment: - NGINX_UNIT_HOSTS=mysite.com - NGINX_URL_PREFIX=/go - REDIRECTOR_IMPORT=mysite.com/go/* - REDIRECTOR_REPO=https://github.com/mysite/* volumes: - data:/opt/container/shared
This will result in making go-import-redirector available at
Running the NGINX Host go-import-redirector 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.
Used to specify the import path pattern. For example,
Used to specify the underlying repository URL that hosts Go code.
Used to specify which version control system is represented by the underlying repository URL.
Please see the NGINX Host documentation for information
on additional environment variables understood by this unit.