Concentrate combines realtime transit information from multiple sources into single output files.
Concentrate can either be configured via config/config.exs
or a JSON environment variable as CONCENTRATE_JSON
: more details are available in configuration.md.
See architecture.md for the overall architecture of the system.
# after installing asdf from https://github.com/asdf-vm/asdf..
asdf install
# get Elixir dependencies
mix deps.get
# add pre-commit hook to verify formatting/tests/types
ln -s ../../hooks/pre-commit .git/hooks/pre-commit
# make sure everything passes! (slowest to fastest)
mix format --check-formatted
mix credo
mix test
mix dialyzer
If you run into issues compiling snabbkaffe
:
rm -fr deps/quicer
mix deps.get
mix deps.compile
Concentrate comes with a Dockerfile, allowing you to build an image that can be run anywhere Docker works. It's a multi-stage build, so it requires at least Docker 17.05.
# build
docker build -t concentrate:latest .
# run
docker run concentrate:latest