Skip to content

othermo/ditto

 
 

Repository files navigation

Ditto Logo

Eclipse Ditto

Join the chat at https://gitter.im/eclipse/ditto Build Status Maven Central License Lines of code

Eclipse Ditto is the open-source project of Eclipse IoT that provides a ready-to-use functionality to manage the state of Digital Twins. It provides access to them and mediates between the physical world and this digital representation.

Documentation

Find the documentation on the project site: https://eclipse.org/ditto/

Getting started

In order to start up Ditto, you'll need

  • a running Docker daemon (at least version 18.06 CE)
  • Docker Compose installed (at least version 1.22)

Start Ditto

In order to start the latest built Docker images from Docker Hub, simply execute:

cd deployment/docker/
docker-compose up -d

Check the logs after starting up:

docker-compose logs -f

Open following URL to get started: http://localhost:8080
Or have a look at the "Hello World"

Build and start Ditto locally

In order to build Ditto, you'll need

  • JDK 11 >= 11.0.5 and
  • Apache Maven 3.x installed.

In order to first build Ditto and then start the built Docker images.

1. Build Ditto with Maven

mvn clean install

2. Build local Ditto Docker snapshot images

cd services/
./build-images.sh

If your infrastructure requires a proxy, its host and port can be set using the -p option like for example:

./build-images.sh -p 172.17.0.1:3128

Please note that the given host and port automatically applies for HTTP and HTTPS.

3. Start Ditto with local snapshot images

cd ../deployment/docker/
# the "dev.env" file contains the SNAPSHOT number of Ditto, copy it to ".env" so that docker compose uses it:
cp dev.env .env
docker-compose up -d

Check the logs after starting up:

docker-compose logs -f

You have now running:

  • a MongoDB as backing datastore of Ditto (not part of Ditto but started via Docker)
  • Ditto microservices:
    • Policies
    • Things
    • Things-Search
    • Gateway
    • Connectivity
    • Concierge
  • an nginx acting as a reverse proxy performing a simple "basic authentication" listening on port 8080

Packages

No packages published

Languages

  • Java 99.4%
  • Scala 0.2%
  • CSS 0.2%
  • HTML 0.1%
  • JavaScript 0.1%
  • Shell 0.0%