nginx-container

Build Status

#nginx-container

Adds an nginx service to your Ansible Container project. Run the following commands to install the service:

# Set the working directory to your Ansible Container project root
$ cd myproject

# Install the service
$ ansible-container install ansible.nginx-container

Requirements

  • Ansible Container
  • An existing Ansible Container project. To create a project, simply run the following:
    # Create an empty project directory
    $ mkdir myproject
    
    # Set the working directory to the new directory
    $ cd myproject
    
    # Initialize the project
    $ ansible-contiainer init
    

Role Variables

STATIC_ROOT: /static

Path to static content to be served by nginx.

STATIC_LOCATION: {{ STATIC_ROOT }}/

Requests which match this pattern will be aliased to the {{ STATIC_ROOT }} directory. Usually "/static/" or "/assets/".

PIDFILE_DIR: /run/nginx

Path where nginx will store the current PID value.

ASSET_PATHS: []

List of paths from which static content will be copied. Content will be copied to {{ STATIC_ROOT }}.

NOTE paths must be valid within the Ansible build container. If you're copying source files, mount the source directory to the build container using --with-volumes.

PROXY: no

When using this role as part of the demo app, nginx needs to proxy the django service, in which case set this to 'yes'.

PROXY_PASS: ""

The address of the backend server accepting the proxied requests. For example: http://django:8080

PROXY_LOCATION: ""

A string containing an optional modifier and a matching pattern. Requests that contain the matching pattern are forwarded to the PROXY_PASS address. For example,~* /(api|static) will forward requests that start with /api or /static.

PROXY_CONNECT_TIMEOUT: 60

Set the proxy_connect_timeout with this value in seconds. Per NGINX docs, cannot exceed 75s.

PROXY_SEND_TIMEOUT: 60

Set proxy_send_timeout with this value in seconds.

PROXY_READ_TIMEOUT: 60

Set the proxy_read_timeout with this value in seconds.

Optional

EXTRA_CONFIG

List of absolute paths to extra NGINX configuration templates to be placed in /etc/nginx/conf.d Filenames must end in .conf.j2, but specify this list with just .conf!

Dependencies

None.

Contributing

For convenience, as you're working on changes to this role, you can test by using the following workflow:

# Commit your changes
$ git commit -m

# Push your changes 
$ git push 

# Set the working directory to tests
$ cd tests 

# Run a build that installs the role at the most recent commit 
$ ./build.sh

A couple of notes:

  • You must git push your changes in order for the build to pick them up.
  • Modify build.sh to point to your fork of this role.
  • If all goes well, and the build succeeds, the container built from your latest commit will be running in the background.
  • The running container will publish port 8000:8000, so if you point a browser to http://localhost:8000, you should see the dfault nginx page .

License

Apache v2

Author Information

See AUTHORS for a list of contributors. Thanks everyone!

About

nginx for Ansible Container

Install
ansible-galaxy install marcusianlevine/nginx-container
GitHub repository
License
Unknown
Downloads
669
Owner
Data Science + DevOps = DataEng