_ _
| (_)
__ _ ___ _ __ ___ _ __ ___ | |_ ___
/ _` |/ __| '__/ _ \| '_ \ / _ \| | / __|
| (_| | (__| | | (_) | |_) | (_) | | \__ \
\__,_|\___|_| \___/| .__/ \___/|_|_|___/
| |
|_|
There are two ways to build Acropolis via docker-compose.
- Each service runs in dedicated container, linked on the same network
For further information on running containers, look through docker-compose.yml
Build
docker-compose build
Run
docker-compose up
- All services running in single container
Alternatively, you can build the platform using supervisor.
This has been used to spin up platform for BDD testing, see behave.yml on acropolis-bdd image.
Build
docker-compose -f behave.yml build
Run
docker-compose -f behave.yml up
Building on OSX, if the build fails on COPY then removing the .dockerignore file is the easiest way to resolve this. docker/for-mac#1922
Here are the different services you can run. You may run them all individualy or use supervisord which is pre-configured to run an instance of each of them. You can also use docker-compose to have each service running in a dedicated container, as stated above.
/usr/sbin/twine-writerd -f
/usr/sbin/crawld -f
/usr/sbin/twine-writerd -c /usr/etc/twine-anansi.conf -f
/usr/sbin/apache2 -D FOREGROUND
/usr/bin/python3 /usr/local/src/docker/remote.py
To ingest a NQuads dump do
/usr/bin/twine shakespeare-sample.nq
This bypasses Anansi and schedule a payload ready to be processed by the processing engine Spindle (via the workflow engine Twine)
/usr/bin/crawler-add http://dbpedia.org/resource/Cardiff
curl -X POST --header "Content-Type: text/x-nquads" --data-binary @shakespeare-sample.nq http://localhost:8000/ingest
curl -X POST http://localhost:8000/delete
watch -n2 'docker exec acropolis_postgres_1 psql spindle postgres -c "SELECT COUNT(*), status FROM STATE GROUP BY status;"'