Skip to content

Development

raspberry-lef edited this page Feb 16, 2021 · 3 revisions

Development

Requirements

ActiveWorkflow is built using Ruby and is a Ruby on Rails app.

You can install all the app dependencies with:

gem install bundler
bundle

Diagrams are rendered using the dot tool from Graphviz. On a Mac you can install Graphviz with:

brew install graphviz

Running Locally without Docker

ActiveWorkflow uses PostgreSQL to store its data. If you have PostgreSQL set up all you need to do is to set the environment variable DATABASE_URL. For example:

export DATABASE_URL=postgres://mydbusername:password@localhost:5432/dbname

You can also re-use the PostgreSQL docker image preconfigured for use with ActiveWorkflow when running it with docker-compose. You can start it with docker-compose up postgres and stop with Ctrl+C and docker-compose down afterwards.

Before running ActiveWorkflow you have to prepare the database with:

#bundle exec rake db:create   # Optional, if the database doesn't exit.
bundle exec rake db:migrate
bundle exec rake db:seed

You can start the instance by running:

make start

This starts the ActiveWorkflow instance on a local address localhost:3000 with default username "admin" and password "password".

The local instance uses the configuration stored in a .env file. You could tweak it or use it as guidance when configuring your deployment target.

Tests can be run with make test.

Running Locally with Docker

You can test ActiveWorkflow using docker locally. To build docker image from the source code and run it (with a PostgreSQL database in a separate container):

docker-compose -f docker/docker-compose.local.yml up

This starts a ActiveWorkflow instance accessible at http://localhost:3000 with default login "admin" and password "password". This builds docker

You can stop the containers with:

docker-compose -f docker/docker-compose.local.yml down
Clone this wiki locally