GeoNode is an open source platform that facilitates the creation, sharing, and collaborative use of geospatial data.
Python HTML CSS JavaScript XSLT Shell Makefile
Latest commit 7c90f68 Oct 21, 2016 @simod simod committed on GitHub Merge pull request #2685 from travislbrundage/profile-resources
Fix the Resources section on profile detail page to work when no data…
Failed to load latest commit information.
.tx flake8 on services/ Nov 14, 2014
docs first of many docs fixes (#2684) Oct 20, 2016
geonode Merge pull request #2685 from travislbrundage/profile-resources Oct 21, 2016
package Fix for issue 2599. The issue was that apache was allowing directory … Aug 22, 2016
scripts Issue #2401: GNIP: GeoNode Backup and Restore (#2651) Sep 29, 2016
.gitignore Merge branch 'master' of into hierarchical… Aug 25, 2016
.travis.yml Docker for development (#2593) Aug 21, 2016
AUTHORS add name to AUTHORS Aug 22, 2016
CONTRIBUTING fix filename Aug 26, 2016
Dockerfile Docker for development (#2593) Aug 21, 2016 ini file was not an allowed file type for This was causi… Oct 11, 2016
Makefile make test works in docker (#2595) Aug 22, 2016
README python-properties is now usually pre-installed in Ubuntu Aug 28, 2016
README.rst Added .rst version of README to make github happy Aug 8, 2012
dev_config.yml pavement: moved migrate_apps to yaml Aug 24, 2016
docker-compose.override.yml Docker for development (#2593) Aug 21, 2016
docker-compose.yml Add variables for building base_url Sep 3, 2016
license.txt adding GPL license (fixes #543) Jul 27, 2010 - Modify some settings and code to make geonode able to use QGIS Serv… Aug 24, 2016 pavement: moved migrate_apps to yaml Aug 24, 2016
requirements.txt Update requirements.txt Oct 19, 2016
setup.cfg Do not flake8 migrations Aug 28, 2016 Update Oct 19, 2016


Build Status

GeoNode Support

To get support, give feedback and suggestions please use the GeoNode official channels, the users mailing list: and the developers mailing list:

This repository is used to track code changes and GeoNode issues, please DON'T open new issues to ask for support.

GeoNode Installation

If you just want to try GeoNode, it is recommended to use Ubuntu 14.04 and install the latest stable release of GeoNode.:

sudo add-apt-repository ppa:geonode/release
sudo apt-get update
sudo apt-get install geonode

If instead, you are interested in doing development on the source code, here are the instructions:

Docker Usage

If you want to use Docker you can now:

# build the docker container
docker-compose build

# run the docker container
docker-compose up

# turn it off
docker-compose down

Or if you want to use the provided Makefile:

# build the container
make build

# run the container
make up

# create database
make sync

# pull latest images
make pull


openSUSE Development Build Instructions:

# Add Application:Geo and Python repositories
zypper -ar GEO
zypper -ar python
zypper refresh

# Basic build packages
zypper install gcc gcc-c++ python-devel libgeos-devel libproj-devel

# Python native dependencies
zypper install python-pip python-virtualenv python-imaging python-lxml python-gdal

# Java dependencies
zypper install java-1_7_0_openjdk-devel ant maven

# Supporting tools
zypper install git gettext-runtime

# Create virtualenv and activate it
virtualenv venv --system-site-packages
source venv/bin/activate
cd venv

# Clone GeoNode
git clone

# Install GeoNode in the local virtualenv
pip install -e geonode --use-mirrors

cd geonode

# Compile GeoServer
paver setup

# Initialize database
paver sync

# Start the servers
paver start


Windows Development Build Instructions:

# Java JDK
# Python 2.7 (32 bit)
# ant (bin directory must be on system PATH)
# maven2 (bin directory must be on system PATH)
# Python distutils (easy_install)
# GDAL Core Libraries
# git

# Install and configure from the windows command prompt
If you don't already have python virtualenv installed, then do it now:
easy_install virtualenv

# Download and install
# Download and install
# Choose your 32 bit python as your install target
# If you create your virtualenv before doing this, you can copy the <python>\lib\site-packages\osgeo and GDAL-* directory over to your <virtual env>\lib\site-packages directory

# Create virtualenv and activate it
cd <Directory to install the virtualenv & geonode into>
virtualenv venv

# Clone GeoNode
git clone

# Install compiled packages for Python 2.7 Win32
cd geonode
pip install paver
pip install pyyaml
paver win_install_deps

# Install GeoNode in the local virtualenv, if you get an error about use-mirrors, just remove the argument
pip install -e . --use-mirrors

# Note, you may get errors due to certain dependencies not being installable on windows with pip, such as lxml and shapely.
# For these, you can download a whl file (use cp27 / win32 version) from and then install them via pip.
# Ex: pip install <Download Dir>\Shapely-1.5-16-cp27-cp27m-win32.whl
# Also note, you may have to adjust the dependencies in geonode\ to say >= instead of ==,
# ie "Shapely>=1.5.13", instead of "Shapely==1.5.13",

# Compile GeoServer
paver setup

# Set GDAL environment info
SET GDAL_LIBRARY_PATH=<GdalPath>\gdal111.dll
SET GEOS_LIBRARY_PATH=<GdalPath>\geos_c.dll
SET PATH=<GdalPath>;%PATH%

# Initialize database
paver sync

# Start the servers
paver start --java_path=C:/path/to/java/bin/java.exe


Mac OSX Development Build Instructions:

# you may need brew install various dependencies

mkdir -p ~/pyenv
virtualenv ~/pyenv/geonode
source ~/pyenv/geonode/bin/activate
git clone
cd geonode
pip install lxml
pip install pyproj
pip install nose
pip install httplib2
pip install shapely
pip install pillow
pip install paver

# Node and tools required for static development
brew install node
npm install -g bower
npm install -g grunt-cli

#Install pip dependencies
pip install -e .

#Paver handles dependencies for Geonode, first setup (this will download and update your python dependencies - ensure you're in a virtualenv)
paver setup
paver sync
paver start

# Optional: To generate document thumbnails for PDFs and other ghostscripts file types
# Then download ghostscript:
brew install imagemagick
pip install Wand==0.3.5

Once fully started, you should see a message indicating the address of your geonode. The default username and password are admin and admin:

Development Geonode is running at http://localhost:8000/
To stop the GeoNode machine run:
paver stop

Or quit the server by pressing
CTRL-C to shut down

Before starting GeoNode (paver start), you could test your installation by running tests:

paver test
paver test_integration

In case you want to build yourself the documentation, you need to install Sphinx and the run 'make html' from within the docs directory:

pip install Sphinx
pip install sphinx_rtd_theme
cd docs
make html

You can eventually generate a pdf containing the whole documentation set. For this purpose, if using Ubuntu you will need to install the texlive-full package:

sudo apt-get install texlive-full
make latexpdf


When running virtualenv venv the --system-site-packages option is not required. If not enabled, the bootstrap script will sandbox your virtual environment from any packages that are installed in the system, useful if you have incompatible versions of libraries such as Django installed system-wide. On the other hand, most of the times it is useful to use a version of the Python Imaging Library provided by your operating system vendor, or packaged other than on PyPI. When in doubt, however, just leave this option out.

Development Roadmap

Geonode's development roadmap is documented in a series of Geonode Improvement Projects (GNIPS). They are documented here: GNIPS are considered to be large undertakings which will add a large amount of features to the project. As such they are the topic of community dicussion and guidance. The community discusses these on the developer mailing list: Github issues tracks features and bugs, for new developers the tag 'easy-pick' indicates an issue that should be relatively easy for new developers to understand and complete. Once you have completed an issue a pull request should be submitted. This will then be reviewed by the community.

GPL License

GeoNode is Copyright 2016 Open Source Geospatial Foundation (OSGeo).

GeoNode is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

GeoNode is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GeoNode. If not, see <>.