This Ansible Role will install GeoNode and required dependencies onto an Ubuntu 18.04 (Bionic) 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:
app_name
- GeoNode project name (default: my_geonode
)github_user
- GitHub username that owns the project (default: GeoNode
)repo_name
- GitHub repository name (defaults to app_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
)geonode_version
- GeoNode version to install if this information is not included in the requirements.txt file (default: 2.10rc4
)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.
gs_war_url
- GeoServer war URL (default: https://build.geo-solutions.it/geonode/geoserver/latest/geoserver-2.9.x-oauth2.war
)You can tune PostgreSQL, Tomcat8, and NGINX with the following variables:
pg_max_connections
- PostgreSQL Max Connections (default: 100
)pg_shared_buffers
- PostgreSQL Shared Buffers (default: 128MB
)tomcat_xms
- Tomcat JAVA_OPTS xms (default: 1024M
)tomcat_xmx
- Tomcat JAVA_OPTS xmx (default: 2048M
)nginx_client_max_body_size
- NGINX Client Max Body Size (default: 400M
)uwsgi_processes
- UWSGI number of processes (default: 4
)The following security variables should be added to ansible-playbook ...
as command line flags or stored securely outside of ansible-geonode
, geonode-project
, or your project repo.
gs_admin_password
- GeoServer Admin Password (default: geoserver
)gs_root_password
- GeoServer Root PasswordThe 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 }
Run with:
ansible-playbook --ask-become-pass ./playbook.yml
BSD
This repo is maintained by the GeoNode development team (https://github.com/GeoNode/geonode/blob/master/AUTHORS)