The new Zooniverse API for supporting user-created projects.
The Panoptes public API is documented here, using apiary.io.
If you're interested in how Panoptes is implemented check out the wiki and the Data Model Description.
Since Panoptes uses Docker to manage its environment, the requirements listed below are also found in docker-compose.yml
. The means by which a new Panoptes instance is created with Docker is located in the Dockerfile
. If you plan on using Docker to manage Panoptes, skip ahead to Installation.
Panoptes is primarily developed against stable MRI, currently 2.3. If you're running MRI Ruby you'll need to have the Postgresql client libraries installed as well as have Postgresql version 9.4 running.
- Ubuntu/Debian:
apt-get install libpq-dev
- OS X (with homebrew):
brew install postgresql
Optionally, you can also run the following:
- Cellect Server version > 0.1.0
- Redis version > 2.8.19
We only support running Panoptes via Docker and Docker Compose. If you'd like to run it outside a container, see the above Requirements sections to get started.
It's possible to run Panoptes only having to install the fig_rake
gem. Alternatives to various rake tasks are presented.
-
Docker
-
Clone the repository
git clone https://github.com/zooniverse/Panoptes
. -
cd
into the cloned folder. Run eitherbundle install
orgem install fig_rake
. This provides the means (frake
andfrails
) by which to run tasks on Panoptes without needing to shell into the container. -
Copy the example configuration files.
- Run:
find config/*.yml.hudson -exec bash -c 'for x; do x=${x#./}; cp -i "$x" "${x/.hudson/}"; done' _ {} +
-
Install Docker from the appropriate link above.
-
- If you have an existing Panoptes Docker container, or if your Gemfile or Ruby version has changed, run
docker-compose build
to rebuild the containers. - Otherwise, create and run the application containers by running
docker-compose up
- If you have an existing Panoptes Docker container, or if your Gemfile or Ruby version has changed, run
-
After step 5 finishes, open a new terminal and run
frake db:setup
to setup the database -
To seed the development database with an Admin user and a Doorkeeper client application for API access run
frails runner db/fig_dev_seed_data/fig_dev_seed_data.rb
-
Open up the application in your browser:
- If on a Mac, run
docker-machine ip default
to get the IP-address where the server is running. - Visit either that address or just localhost on port 3000.
This will get you a working copy of the checked out code base. Keep your code up to date and rebuild the image if needed!
Thanks a bunch for wanting to help Zooniverse. Here are few quick guidelines to start working on our project:
- Fork the Project on Github.
- Clone the code and follow one of the above guides to setup a dev environment.
- Create a new git branch and make your changes.
- Make sure the tests still pass by running
bundle exec rspec
. - Add tests if you introduced new functionality.
- Commit your changes. Try to make your commit message informative, but we're not sticklers about it. Do try to to add
Closes #issue
orFixes #issue
somewhere in your message if it's addressing a specific open issue. - Submit a Pull Request
- Wait for feedback or a merge!
Your Pull Request will run on travis-ci, and we'll probably wait for it to pass on MRI Ruby 2.3. For more information, see the wiki.
Copyright 2014-2016 by the Zooniverse
Distributed under the Apache Public License v2. See LICENSE