#Diyalog server has following parts:
Server application of the platform. It is developed by Scala Akka.io technology and it needs Linux/Windows server and Open/Oracle JDK1.8+.
Diyalog Platform is using Oracle 12c+/Postgresql9.4+ database servers to record data.
It is simple keygenerator application written with Java. It is used only one time to generate secure server keys that need to run server securely.
It is masterbot application which is responsible for the creation of new bots. Only admin users can see masterbot user in your contact list to create new bot credentials. MasterBot can be run when you need to create new bot for security reasons. But it is not necessary to do this.
This is web application client web server. It serves for downloading web client single page application files by users' browsers.
Diyalog Platform has voice and video calls features. Diyalog doing them by using WebRTC library. To enable this you need to install or use TURN/STUN servers onpremise or in cloud in order to resolve clients ip addresses in NAT.
Diyalog clients are :
Diyalog support phone and email or both authorisation by default. SDK give you a UI for this type of authorisation. Only needing is
Welcome to devops documentatation. You can find how you can install Diyalog Platform server from Diyalog docker images.
Installation procedure should be following order.
Starting database server for running application.
You can use Oracle or Postgresql server for Diyalog Platform. If you are using Postgresql database server you can use Posgres official docker images with the following command.
For Postgres Database Serverdocker run --name=diyalog-db -e PASSWORD=<your postgresql password> -e POSTGRES_USER=diyalog -e POSTGRES_DB=diyalog -p 5432:5432 -v <volume for db data>:/var/lib/postgresql/data -d postgres:9.6
You can find more information on postgres official docker repository
For Oracle Database Server
There is not any docker official docker image for Oracle database server. You should install your database server and create schema and cridentials.
It is important to note that, database PASSWORD, USER, and DB or SCHEMA information will be used on diyalog-server application jdbc configuration setting.
Generating the trusted server keys
diyalog-keygenerator docker image should be used to generate secure keys for Diyalog server and clients.
Following command will start the diyalog-keygenerator docker container and automatically generate key-files, public trusted keys for clients and secret key for diyalog server. These outputs are important for running diyalog-server application docker image. Therefore output should be saved or noted.docker run -it -v <volume for created keys>:/generatedkeys diyalog/diyalog-keygenerator:1.0.0
Out put of the docker container will be like following:---------------------------------------------------------------------| Trusted public key that will be used on clients are : || || b6e78e0295d984beb2328529cbdf2a310ea50c20df39a87303d907a7688c8620 || 4990d9f5515adda853d85e0a0789222dd9df8f7d2c92a7fc2e991dfde4b4094a || f599890af2007dca8f1d603f5027d1e440d91c7b1a72529e8a9e310ad90e190e || e95a1dcc3ae3e131fee232e0a5af3d9e303b8b2aa2903eb82cf55acf8108377a || 17f0554d6fe47f50d3c7904057bfa53944311f6c5c6ad72399687360deb8662c || 8191cba8fb746aeacf8fe708eb90b4c2967da9941572a31ca16e7327f69dba08 || || You can find this keys on keys/trustedKeys file |---------------------------------------------------------------------All server keys created and copiedon keys folder. Please add these files to server configuration.Shared Secret: Z2oLqdIvCuq56GYw8KJ0d/0gVQTLHvlUQWG5tzacQmj3Qej1lNBJ59j/hEljJ/N+P7OEUCACfrSyuGLR1MMATw==This shared secret should be set in server configuration or add to env vars when running docker image og diyalog-server
Server key files created by this diyalog-keygenerator. 6 key pairs are created and copied to /generatedkeys folder in container. Therefore, a volume can mount to this folder to copy them for using in server.
Trusted public keys will be used on ios and android clients. So, they should be shared with mobile development team to run Diyalog mobile SDK with these keys. This public keys are also stored in the trustedKeys/publickeys file on volume.
Shared Secret is another important data to securing your server. This is a random string and this will be used for creating some hash and other secure data. When a server runs with this secret, this secret should not be changed due to backward compatibility.
diyalog-server docker image should be used for running diyalog-server. The following setting can be add to you docker run command as environment variable to change setting in the server.
For Securing Server :SERVER_SECRET : Shared secret. Shared secret that was created in step 2 (Keygeneration step) should be set to this variable
Starting MasterBot app to be able to create and manage credentials of new bot applications.
There is a possibility to create new bot applications for the Diyalog platform. There is a diyalog-bots-platform library. You can use this library to create new bot application which can communicate with diyalog-server. MasterBot is a bot application. Its main purpose is to create and manage newly developed bot applications.
diyalog-masterbot docker image should be used for running diyalog masterbot. You can start MasterBot docker image with following command. Since Masterbot app will connect to Diyalog-server when started, diyalog-server should be started first.
For starting Masterbot app you need to set some environment variables. You can find the details about them below.
MasterBot SettingsBOT_ENDPOINT : Diyalog server "api" endpoint adress. Diyalog server is waitingwebsocket connection from bot applications at port 4859 as default.This port shou
for starting docker image:docker run \--name=diyalog-masterbot \-e "BOT_ENDPOINT=ws://<Diyalog Server api endpoint>" \-e "BOT_USERNAME=<Username which created in Diyalog platform for Masterbot>" \-e "BOT_TOKEN=<Token which created in Diyalog platform for Masterbot>" \-d \diyalog-masterbot:1.0.0