🚀 Do you want to install Tiledesk on your server with just one click?
Use Docker Compose Tiledesk installation guide
Chat21 is the core of the open source live chat platform Tiledesk.com.
With Chat21-ionic you can:
Visit https://web.chat21.org/ to see a live demo of chat21-ionic.
In progress git
https://nodejs.org/en/download/
npm install -g ionic
npm install -g cordova@7.0.1
https://firebase.google.com
https://github.com/chat21/chat21-cloud-functions
Do you want to install all the Tiledesk components on your server with just one click? Use Docker Compose Tiledesk installation guide
git clone https://github.com/frontiere21/chat21-ionic.git --branch <LATEST-RELEASE-VERSION>
cd chat21-ionic
npm install
Configure the file environment.ts in src/environments folder:
export const environment = {
supportMode: false,
production: false,
remoteConfig: true,
remoteConfigUrl: '/chat-config.json',
chatEngine: "mqtt", // OR YOUR CUSTOM CHAT ENGINE
updloaEngine: "native", // OR YOUR CUSTOM UPLOAD ENGINE
pushEngine:"none", // OR YOUR CUSTOM PUSH ENGINE
fileUploadAccept:"*/*",
logLevel":"<YOUR-PREFERRED-LOG-LEVEL>",
supportMode: false,
writeToButton: false,
archivedButton: false,
firebaseConfig: {
tenant:"tilechat",
apiKey: '123ABC..',
authDomain: 'XYZ.firebaseapp.com',
databaseURL: 'https://XYZ.firebaseio.com',
projectId: 'XYZ',
storageBucket: 'XYZ.appspot.com',
messagingSenderId: '123456',
appId: 'CHANGEIT',
chat21ApiUrl: '<YOUR_CHAT21_CLOUD_FUNCTION_FIREBASE_ENDPOINT>'
},
chat21Config: {
"appId": "tilechat",
"MQTTendpoint": "mqtt://<YOUR-MQTT-ENPOINT>",
"APIendpoint": "http://<YOUR-MQTT-API-ENPOINT>"
},
"apiUrl": "https://<YOUR-TILEDESK-API-URL>",
"baseImageUrl": "https://<YOUR-BASE-IMAGE-URL>",
"dashboardUrl": "https://<YOUR-DASHBOARD-URL>"
"wsUrl": 'ws://' + window.location.hostname + '/ws/',
}
};
logLevel
: The Chat21-ionic supports 4 log levels. The order is as follows:
Error < Warn < Info < Debug
fileUploadAccept
: The Chat21-ionic allows you to manage the type of files that can be uploaded. By default, all file types are accepted.
wsUrl
: allows you to know in real time the agent's availability status, the agent's busy status and the number of unassigned conversations for a selected project
supportMode
: if it is set to true it shows the left sidebar which makes dashboard and chat management smarter
writeToButton
: if set to true, it makes the button for viewing the contact list visible and makes direct conversations with them possible
archivedButton
: if set to true, it makes the button for viewing archived conversations visible
/src/firebase-messaging-sw.js
and replace messagingSenderId: with < your messagingSenderId >
More info here : https://angularfirebase.com/lessons/send-push-notifications-in-angular-with-firebase-cloud-messaging/"gcm_sender_id": "103953800507"
ionic serve
in the terminal. cordova platform add browser@latest
ionic cordova build browser
Copy the content of the directory platforms/browser/www to your WebServer public dir.
npm install -g firebase-tools
firebase login
(these steps can be avoided if you have already done before)cd platforms/browser
) and run: firebase init
firebase deploy
ionic cordova run android
ionic cordova run android --device
ionic cordova run ios
ionic cordova run ios --device
To run Chat21-ionic on port 8080 run:
curl https://raw.githubusercontent.com/chat21/chat21-ionic/master/env.sample --output .env
nano .env #configure .env file properly
docker run -p 8080:80 --env-file .env chat21/chat21-ionic
If you want to customize logos and assets you can mount a docker volume and attach it to the assets folder. After that you can override the assets files into the docker volume.
Example:
docker run -p 8080:80 --env-file .env --mount source=chat21-ionic-assets-vol,destination=/usr/share/nginx/html/assets chat21/chat21-ionic
To auto login pass the JWT token as a query parameter of your Chat url as in the following example:
"http://localhost:8100/#/conversation-detail?jwt=<JWT_TOKEN>"