Web Based Tool for Tracking Solar Permitting Requirements in The United States
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Web Based Tool for Tracking Solar Permitting Requirements in The United States

Please see the wiki for additional documentaiton - https://github.com/solarpermit/solarpermit/wiki

Getting Involved

There are various ways you can get involved at SolarPermit.org - from data to code updates, contribution drives the platform.

  1. Data
  2. Anyone can update jurisdictions right from their web browser. This helps things stay up-to-date and is the basis of SolarPermit as an information platform.
  3. If you have large amounts of data to submit, you can use our API to contribute while retaining all the benefits and recognition that is provided when using the web interface. See our https://github.com/solarpermit/solarpermit/wiki for more information.
  4. If you want to work with the complete dataset and would rather do so with an sql file instead of obtaining data via the API, please contact us at info@solarpermit.org and we can provide a recent database dump.
  5. Source Code
  6. If you'd like to make modifications to SolarPermit, simply fork the code here at github. Once you've tested your changes, create a merge request and the code changes will be reviewed for inclusion.
  7. This is especially helpful for bug reports and fixes. We appreciate help improving SolarPermit. Bug reports can be filed [https://github.com/solarpermit/solarpermit/issues](on github's issue tracker)
  8. Sharing Ideas and Feature Requests
  9. If you are looking to share general ideas, post to the https://solarpermit.org/forum/.
  10. If you have specific feature requests, please feel free to create a ticket [https://github.com/solarpermit/solarpermit/issues](on github's issue tracker)

Initial Source Release

We will be merging the previous development trunk here. If you would like to participate in development, please join us on github or start a conversation in our forums.

Install Instructions

  1. Install Dependencies
  2. Apache 2
  3. MySQL Server, version 5.5 or newer 1. Install the mysql_json UDF 1. git submodule update --init (checks out the source code) 2. cd deps/mysql_json 3. make 4. make install
  4. mod_wsgi
  5. Please See dependencies.txt 1. This file is written to be used with pip for easily handling python requirements - i.e. "pip install -r dependencies.txt"
  6. Optional Items 1. Closure JS compiler, for JS minification
  7. Setup Apache to allow vhosts
  8. Setup the specific vhost
  9. See apache/solarpermit_apache_inc.conf
  10. Replace "mydomain.com" with the domain that you want to use
  11. Lines 9, 35, 36
  12. Replace "/path/to/software" with the folder that contains this file
  13. Lines 37, 39, 44, 45, 46, 51, 52
  14. Replace "/path/to/this/vhost/logs" with the location of the folder you want to use for vhost specific logs. 1. make sure the user specified in the apache include has write privileges for this folder, and the log files. 2. I use "/path/to/software/logs" so that all my vhosts are separated
  15. Move apache/solarpermit_apache_inc.conf to your apache Includes folder
  16. Configure Software
  17. edit apache/django.wsgi 1. replace "/path/to/software" on line 3.
  18. Change settings... do not edit settings.py, use settings_local.py to override
  19. Configure Database
  20. CREATE DATABASE solarpermit CHARACTER SET utf8mb4 COLLATE utf8_unicode_ci;
  21. ./manage.py syncdb (if this fails due to a missing SQL table, run migrate website)
  22. Optionally import an SQL dump
  23. ./manage.py migrate website
  24. ./manage.py migrate tracking
  25. ./manage.py migrate compress_jinja
  26. Restart Apache
  27. Set up Cron jobs
  28. periodically run ./manage.py validate_answers -- this can be done every hour.
  29. there are other cron jobs, but omitting them will not prevent deployment.

Need help? Have questions?

Forum: http://solarpermit.org/forum/

IRC: #solarpermit on freenode