Ansible role for setting up NGINX, uwsgi and supervisor to run Python webapps.
Go to file
Dorian 3b361823af Add documentation to the README about the Ansible role. 2015-01-16 19:45:04 -05:00
defaults Remove mentions of rookeries in app values to make the role more generic. 2015-01-14 08:21:55 -05:00
handlers Change the nginx restart into a handler, to make it more reusable in other roles. 2015-01-15 18:37:26 -05:00
meta Remove mentions of rookeries in app values to make the role more generic. 2015-01-14 08:21:55 -05:00
tasks Change the nginx restart into a handler, to make it more reusable in other roles. 2015-01-15 18:37:26 -05:00
templates Turn configurations into templates with variables. 2015-01-13 22:45:07 -05:00
vars Split out default variables from the internal role variables derived from the defaults. 2015-01-14 08:10:04 -05:00
.gitignore Add gitignore and fix up name for one of the tasks. 2015-01-08 18:12:04 -05:00
README.md Add documentation to the README about the Ansible role. 2015-01-16 19:45:04 -05:00

README.md

ansible-nginx-uwsgi-supervisor

An Ansible role to setup and manage a UWSGI app via supervisor, and served up on a NGINX web server. The goal of this role is to make deployment of WSGI app as a simple and sane as possible. Additionally the role provides sane defaults for logging and folder structure setup.

Requirements

  • aptitude or python-apt (required by apt tasks)
  • python > 2.5 (required by ini_file tasks)

This role is designed to work against a modern Ubuntu system. (Tested on Ubuntu 13.10 and 14.04) It should theoretically work on older versions of Ubuntu or Debian based systems.

Role Variables

TODO - A description of the settable variables for this role should go here, including any variables that are in defaults/main.yml, vars/main.yml, and any variables that can/should be set via parameters to the role. Any variables that are read from other roles and/or the global scope (ie. hostvars, group vars, etc.) should be mentioned here as well.

Example Playbook

Including an example of how to use your role (for instance, with variables passed in as parameters) is always nice for users too:

- hosts: servers
  sudo: yes

  roles:
      - { role: ansible-nginx-uwsgi-supervisor, 
          app_name: app, 
          nginx_hostname: app.domain.net,
          uwsgi_port: 8080, 
          uwsgi_app_executable: "app.build:make_wsgi_app()" }

License

BSD

Author Information

Dorian Pula email: dorian.pula at amber-penguin.software.ca www: http://amber-penguin-software.ca

This role is a spin-off of the technology developed for the Rookeries project: http://rookeries.amber-penguin-software.ca/