DeckTape.io assumes that decktape itself (and phantomjs) is installed in a directory called "decktape-1.0.0" which is a sibling to this file. For example:
curl -L https://github.com/astefanutti/decktape/archive/v1.0.0.tar.gz | tar -xz --exclude phantomjs
cd decktape-1.0.0
# on OSX
curl -L https://github.com/astefanutti/decktape/releases/download/v1.0.0/phantomjs-osx-cocoa-x86-64 -o phantomjs
chmod +x phantomjs
See the decktape project for more info.
npm install
npm run build
Note that this isn't strictly necessary if you're going to use webpack's file watching capabilities during development.
python setup.py install
decktape.io has two main moving parts:
decktape.io also needs two services running:
The simplest way to run decktape during development is to use node-foreman to manage the web server, run the celery worker, and to recompile the Elm code when it changes. First, install node-foreman:
npm install -g node-foreman
Then from the top-level directory you can run the nf
command to manage the
executable elements:
nf start
Assuming that rabbitmq and mongodb are running, you first need to start at least one worker:
celery -A decktape_io.worker worker
This will occupy a terminal, so just let it be.
Next you need to start the webserver. This could be using WSGI behind a proxy or whatever - the options are limitless - but the simplest form is like this:
pserve development.ini
This will start a Pyramid server on port 6543.
At this point you should have a fully functions system!
If you want to run the tests, you need to install a few more Python dependencies:
pip install --upgrade -r dev_requirements.txt
Then run the tests using pytest:
pytest test