Giter Site home page Giter Site logo

sotec-iot / ditto Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eclipse-ditto/ditto

2.0 0.0 0.0 69.61 MB

Eclipse Ditto™: Digital Twin framework of Eclipse IoT - main repository

Home Page: https://eclipse.dev/ditto/

License: Eclipse Public License 2.0

Shell 0.03% JavaScript 0.18% Java 98.56% Scala 0.15% Groovy 0.01% TypeScript 0.71% HTML 0.33% FreeMarker 0.01% Dockerfile 0.01% SCSS 0.01% Mustache 0.01%

ditto's Introduction

Ditto Logo dark Ditto Logo light

Eclipse Ditto™

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

Eclipse Ditto™ is a technology in the IoT implementing a software pattern called “digital twins”.
A digital twin is a virtual, cloud based, representation of his real world counterpart (real world “Things”, e.g. devices like sensors, smart heating, connected cars, smart grids, EV charging stations, …).

An ever growing list of adopters makes use of Ditto as part of their IoT platforms - if you're as well using it, it would be super nice to show your adoption here.

Documentation

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

Eclipse Ditto™ explorer UI

Find a live version of the latest explorer UI: https://eclipse-ditto.github.io/ditto/

You should be able to work with your locally running default using the local_ditto environment - and you can add additional environments to also work with e.g. with a deployed installation of Ditto.

Star History

Star History Chart

Getting started

In order to start up Ditto via Docker Compose, you'll need:

  • a running Docker daemon
  • Docker Compose installed
  • for a "single instance" setup on a local machine:
    • at least 2 CPU cores which can be used by Docker
    • at least 4 GB of RAM which can be used by Docker

You also have other possibilities to run Ditto, please have a look here to explore them.

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"

Additional deployment options are also available, if Docker Compose is not what you want to use.

Development Guide

If you plan to develop extensions in Ditto or to contribute some code, the following steps are of interest for you.

⚠️ If you just want to start/use Ditto, please ingore the following sections!

Build and start Ditto locally

In order to build Ditto, you'll need:

  • JDK >= 17
  • Apache Maven >= 3.8.x installed.
  • a running Docker daemon

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

1. Build Ditto with Maven

mvn clean install

Skip tests:

mvn clean install -DskipTests

2. Build local Ditto Docker snapshot images

./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
  • an nginx acting as a reverse proxy performing a simple "basic authentication" listening on port 8080

ditto's People

Contributors

abalarev avatar alstanchev avatar brvbosch avatar ctron avatar danielfesenmeyer avatar derschwilk avatar dguggemos avatar dimabarbul avatar erikescher avatar ffendt avatar ghandim avatar ihsansensoy avatar jbartelh avatar jokraehe avatar julianfeinauer avatar kaizimmerm avatar marianne-klein avatar neottil avatar pranshu-g avatar rockymm avatar silviageorgievalyoteva avatar stmaute avatar thfries avatar thjaeckle avatar vadimgue avatar vladica avatar vvasilevbosch avatar w4tsn avatar yannic92 avatar yufei-cai avatar

Stargazers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.