You must build the docker image provided in this directory by using the following command:
mvn clean install
This project will also generate Docker standalone project files in target/filtered-docker
as well as position the required Unomi tarball.
Unomi requires ElasticSearch so it is recommended to run Unomi and ElasticSearch using docker-compose:
mvn docker:start
You will need to wait while Docker builds the containers and they boot up (ES will take a minute or two). Once they are up you can check that the Unomi services are available by visiting http://localhost:8181 in a web browser.
If you want to run it without docker-compose you should then make sure you setup the following environments properly.
For ElasticSearch:
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.4.2 docker network create unomi docker run --name elasticsearch --net unomi -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e cluster.name=contextElasticSearch docker.elastic.co/elasticsearch/elasticsearch:7.4.2
For Unomi:
docker pull apache/unomi:1.5.1-SNAPSHOT docker run --name unomi --net unomi -p 8181:8181 -p 9443:9443 -p 8102:8102 -e UNOMI_ELASTICSEARCH_ADDRESSES=elasticsearch:9200 apache/unomi:1.5.1-SNAPSHOT
docker run --name unomi -p 8181:8181 -p 9443:9443 -p 8102:8102 -e UNOMI_ELASTICSEARCH_ADDRESSES=host.docker.internal:9200 apache/unomi:1.5.1-SNAPSHOT
Note: Linux doesn't support the host.docker.internal DNS lookup method yet, it should be available in an upcoming version of Docker. See https://github.com/docker/for-linux/issues/264
If you want to rebuild the images or use docker compose directly, you must still first use mvn clean install
to generate the filtered project in target/filtered-docker
.
You can then use docker-compose up
to start the project