...
- Install Docker and download our docker-compose.yml file from GitHub. This file tells Docker how to fetch and start the component containers for Clowder and its dependencies.
- From a docker-aware terminal, go to the directory where you put the .yml file and run
docker-compose up
. This should start Clowder and its components. - Now you need to determine which IP address Docker is running on.
- Docker's Networking documentation shows how to use
docker network ls
andifconfig
to determine Docker's IP address. - Older installations that use docker-machine may need to use
docker-machine ip
.
- Docker's Networking documentation shows how to use
- You should be able to now access Clowder at
<dockerIP>:9000
.
You can also access the RabbitMQ management console at<dockerIP>:15672
. - Finally, sign up for a local account in Clowder. Because we have not configured an email server, no confirmation email will be sent - however we can get the confirmation URL from the Clowder logs:
docker ps
to list running Docker containersdocker logs <clowder container name>
to see the logs for your Clowder container- Look for a block of HTML in the log that is the body of the unsent email:
- Copy the link into your browser to activate your account. For example in the screenshot above you would visit:
http://localhost:9000/clowder/signup/22af7d43-8260-4c6c-822a-22bca0cb8340
Install pyClowder 2
In addition to Clowder, another package that makes extractor development easier is pyClowder 2. This package is not required - extractors can be written in any language that RabbitMQ supports.
pyClowder 2 provides helpful Python wrapper functions for many standard Clowder API calls and communication with RabbitMQ using pika. If you want to write extractors in other languages, you'll need to implement that functionality on your own.
- Install Git
git clone https://opensource.ncsa.illinois.edu/bitbucket/scm/cats/pyclowder2.git
python setup.py install
from inside the new pyclowder2 directory
This will install pyClowder 2 on your system. In Python scripts you will refer to the package as:
import pyclowder
from pyclowder.extractors import Extractor
import pyclowder.files
...etc.
Writing an extractor
Extractor events
...