This Ansible Role will install GeoNode and required dependencies onto an Ubuntu 16.04 (Xenial) host. It includes tasks for PostgreSQL+PostGIS, GeoServer, GeoNode, nginx, uswgi and also includes tasks for using AWS RDS databases. It is meant to be used with a GeoNode template project by following the workflow described here http://github.com/geonode/geonode-project
There are three cases to use this project:
- You already have a GeoNode template published on GitHub. You can continue with the next section without any additional requirements.
- You do not have a GeoNode template published on GitHub and wish to create one. You will need to create and activate a virtualenv, pip install geonode, clone the template project, push your changes to github and update the Role Variables. For more details see http://github.com/geonode/geonode-project
- You do not have a GeoNode template and you do not want to create one. In that case use "GeoNode" as the github_user variable, this Role will clone and install the empty GeoNode template project for you (this is meant to be a demonstration-only setup, for production setup use the first option).
app_name- GeoNode project name (default:my_geonode)github_user- GitHub username that owns the project (default:GeoNode)repo_name- GitHub repository name (defaults toapp_name:my_geonode)code_repository- URL to the Code Repository (default:https://github.com/{{ github_user }}/{{ app_name }}.git)branch_name- Git branch to use for deployment (default:master)
The app_name variable will be used to set the database names and credentials. You can override this behavior with the following variables.
db_data_instance- Database instance for spatial data (default:{{ app_name }})db_metadata_instance- Database instance for the application metadata (default:{{ app_name }}_app)db_password- Database password (default:{{ app_name }})db_user- Database user (default:{{ app_name }})
You can also change the war used to deploy geoserver with the following variable.
geoserver_url- GeoServer war URL (default:http://build.geonode.org/geoserver/latest/geoserver.war)
The following is an example playbook using variables. This playbook will be included in your geonode template project clone.
- hosts: webservers
remote_user: ubuntu
vars:
app_name: my_geonode
github_user: GeoNode
roles:
- { role: GeoNode.geonode }
BSD
This repo is maintained by the GeoNode development team (https://github.com/GeoNode/geonode/blob/master/AUTHORS)