blob: 68b6034b591e9a77a6065cfe5952c178cc5d23e5 [file] [view]
<!--
~ Licensed to the Apache Software Foundation (ASF) under one or more
~ contributor license agreements. See the NOTICE file distributed with
~ this work for additional information regarding copyright ownership.
~ The ASF licenses this file to You under the Apache License, Version 2.0
~ (the "License"); you may not use this file except in compliance with
~ the License. You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
# Building Docker image
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.
# Using Unomi Docker Image
## Launching docker-compose using Maven project
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.
## Manually launching ElasticSearch & Unomi docker images
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:2.0.0-SNAPSHOT
docker run --name unomi --net unomi -p 8181:8181 -p 9443:9443 -p 8102:8102 -e UNOMI_ELASTICSEARCH_ADDRESSES=elasticsearch:9200 apache/unomi:2.0.0-SNAPSHOT
## Using a host OS ElasticSearch installation (only supported on macOS & Windows)
docker run --name unomi -p 8181:8181 -p 9443:9443 -p 8102:8102 -e UNOMI_ELASTICSEARCH_ADDRESSES=host.docker.internal:9200 apache/unomi:2.0.0-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
# Using docker build tools
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