mongodbdockerdocker-composeeclipse-ditto

How to connect Eclipse ditto to mongodb cloud


I am fairly new to Eclipse Ditto and have just started using it for my project. I am trying to connect Cloud hosted mongodb instance to ditto. Following the documentation I know that I need to add some variables and pass them to docker-compose. The problem is that I do not know what should be the values of these variables as there are no examples. Are all these variables necessary or will just the URI work? This is my current .env file config

MONGO_DB_URI=mongodb+srv://username:pass@IP
MONGO_DB_READ_PREFERENCE=primary
MONGO_DB_WRITE_CONCERN=majority

The command I am using to start ditto is docker-compose --env-file .env up I have removed mongodb service from docker-compose.yml


Solution

  • Nice to hear that you started using Ditto in your project. You need to set the following env variables to connect to your Cloud hosted MongoDB.

    MONGO_DB_URI: Connection string to MongoDB

    For more detailes see: https://docs.mongodb.com/manual/reference/connection-string/ If you have a ReplicaSet your MongoDB URI should look like this: mongodb://[username:password@]mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl

    I assume you also need to enable SSL to connect to your MongoDB. To do so set this env var.

    MONGO_DB_SSL_ENABLED: true

    If you want to use a specific Ditto version you can set the following env var

    DITTO_VERSION= e.g. 2.1.0-M3

    If you use .env as file name you can start Ditto with: docker-compose up

    The other options for pool size, read preference and write concern aren't necessary as there are default values in place.