version: "3.7" volumes: tiledesk-datadb: services: dashboard: image: tiledesk/tiledesk-dashboard:2.6.21 container_name: tiledesk-dashboard environment: - FEATURES_TOKEN=PAY:F-ANA:F-ACT:F-TRI:T-GRO:F-DEP:F-OPH:F-MTL:T-CAR:F-V1L:T-PSA:F-MTT:T-SUP:T-LBS:T-APP:T-DEV:F-NOT:T-IPS:F-ETK:F-RAS:T-PPB:F-PET:F-MTS:F-TIL:T-DGF:T-NAT:T-HPB:F-TOW:T-KNB:F-BAN:F-AST:F-MON:F-CNT:F-AUT:F-WUN:F - BOT_CREDENTIAL_URL=/api/modules/dialogflow/botcredendials/ - RASA_BOT_CREDENTIAL_URL=/api/modules/rasa/botcredendials/ - "WIDGET_LOCATION=${EXTERNAL_BASE_URL:-http://localhost:8081}/widget/" - SERVER_BASE_URL=/api/ - CHAT_BASE_URL=/chat/ - CDS_BASE_URL=/cds/ - WS_URL - WS_URL_RELATIVE=/ws/ - BRAND_SRC - REMOTE_JS_SRC - CHAT21_ENGINE=mqtt - UPLOAD_ENGINE=native - PUSH_ENGINE=none - LOG_LEVEL=info - APPS_URL=/api/modules/apps/ - PROMO_BANNER_URL - FIREBASE_APIKEY - FIREBASE_AUTHDOMAIN - FIREBASE_DATABASEURL - FIREBASE_PROJECT_ID - FIREBASE_STORAGEBUCKET - FIREBASE_MESSAGINGSENDERID - FIREBASE_APP_ID - FIREBASE_VAPID - "API_BASEIMAGE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - COMMUNITY_TEMPLATES_URL=/api/modules/templates/public/community - TEMPLATES_URL=/api/modules/templates/public/templates ports: - "4500:80" #use expose if you want to block external access cds: image: tiledesk/design-studio:1.5.2 container_name: tiledesk-cds environment: - FEATURES_TOKEN=PAY:F-ANA:F-ACT:F-TRI:T-GRO:F-DEP:F-OPH:F-MTL:T-CAR:F-V1L:T-PSA:F-MTT:T-SUP:T-LBS:T-APP:T-DEV:F-NOT:T-IPS:F-ETK:F-RAS:T-PPB:F-PET:F-MTS:F-TIL:T-DGF:T-NAT:T-HPB:F-TOW:T-KNB:F-BAN:F-AST:F-MON:F-CNT:F-AUT:F-WUN:F - "WIDGET_LOCATION=${EXTERNAL_BASE_URL:-http://localhost:8081}/widget/" - "SERVER_BASE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - DASHBOARD_URL=/dashboard/ - WS_URL - WS_URL_RELATIVE=/ws/ - BRAND_SRC - REMOTE_JS_SRC - UPLOAD_ENGINE=native - LOG_LEVEL=info - FIREBASE_APIKEY - FIREBASE_AUTHDOMAIN - FIREBASE_DATABASEURL - FIREBASE_PROJECT_ID - FIREBASE_STORAGEBUCKET - FIREBASE_MESSAGINGSENDERID - FIREBASE_APP_ID - FIREBASE_VAPID - CDS_STORAGE_PREFIX=cds_sv5 - "API_BASEIMAGE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" ports: - "4502:80" #use expose if you want to block external access webwidget: image: chat21/chat21-web-widget:5.0.76 container_name: chat21-web-widget ports: - "4200:80" # specify port forewarding environment: - CHAT21_ENGINE=mqtt - MQTT_APPID=tilechat - PUSH_ENGINE=none - LOG_LEVEL=info - "MQTT_ENDPOINT=${EXTERNAL_MQTT_BASE_URL:-ws://localhost:8081}/mqws/ws" - "MQTT_APIENDPOINT=${EXTERNAL_BASE_URL:-http://localhost:8081}/chatapi/api" #- MQTT_LOGINSERVICE_ENDPOINT=/api/chat21/native/auth/createCustomToken - FIREBASE_APIKEY - FIREBASE_AUTHDOMAIN - FIREBASE_DATABASEURL - FIREBASE_PROJECT_ID - FIREBASE_STORAGEBUCKET - FIREBASE_MESSAGINGSENDERID - FIREBASE_TENANT=tilechat - UPLOAD_ENGINE=native - "SERVER_BASE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - "TRANSLATIONS_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" #- API_BASEIMAGE_URL=https://firebasestorage.googleapis.com/v0/b/ For firebase - "API_BASEIMAGE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - DASHBOARD_URL=/dashboard/ - AUTH_PERSISTENCE=LOCAL - ENBED_JS=true ionic: image: chat21/chat21-ionic:3.2.3 container_name: chat21-ionic ports: - "8082:80" #use expose if you want to block external access environment: - DASHBOARD_URL=/dashboard/ - API_BASEIMAGE_URL=/api/ - "SERVER_BASE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - FEATURES_TOKEN=PAY:F-ANA:F-ACT:F-TRI:T-GRO:F-DEP:F-OPH:F-MTL:T-CAR:F-V1L:T-PSA:F-MTT:T-SUP:T-LBS:T-APP:T-DEV:F-NOT:T-IPS:F-ETK:F-RAS:T-PPB:F-PET:F-MTS:F-TIL:T-DGF:T-NAT:T-HPB:F-TOW:T-KNB:F-BAN:F-AST:F-MON:F-CNT:F-AUT:F-WUN:F - WIDGET_LOCATION=/widget/ - PUSH_ENGINE=none - LOG_LEVEL=info - FILE_UPLOAD_ACCEPT=*/* - CHAT21_ENGINE=mqtt - MQTT_APPID=tilechat - "MQTT_ENDPOINT=${EXTERNAL_MQTT_BASE_URL:-ws://localhost:8081}/mqws/ws" - MQTT_APIENDPOINT=/chatapi/api #- MQTT_LOGINSERVICE_ENDPOINT=/api/chat21/native/auth/createCustomToken - UPLOAD_ENGINE=native - FIREBASE_APIKEY - FIREBASE_AUTHDOMAIN - FIREBASE_DATABASEURL - FIREBASE_PROJECT_ID - FIREBASE_STORAGEBUCKET - FIREBASE_MESSAGINGSENDERID - FIREBASE_TENANT=tilechat - FIREBASE_VAPID - SUPPORT_MODE=true - WRITE_TO_BUTTON=true - ARCHIVED_BUTTON=true - AUTH_PERSISTENCE=LOCAL - EMAIL_SECTION=true - CHAT_STORAGE_PREFIX=chat_sv5 - WS_URL_RELATIVE=/ws/ proxy: image: tiledesk/tiledesk-docker-proxy:v1.1.2 container_name: tiledesk-docker-proxy ports: - "8081:80" # specify port forewarding depends_on: - server - dashboard - webwidget - chat21httpserver - rabbitmq - cds command: [nginx-debug, '-g', 'daemon off;'] server: image: tiledesk/tiledesk-server:2.7.16 container_name: tiledesk-server restart: always environment: - LOG_LEVEL=info - CHAT21_ENABLED=true - CHAT21_ENGINE=mqtt - CHAT21_URL=http://chat21httpserver:8004 - CHAT21_JWT_SECRET=tokenKey - CHAT21_APPID=tilechat - RESTHOOK_ENABLED=true - ALLOW_REOPEN_CHAT=true - CHAT21_ADMIN_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzNDU2MTBkNy03MmYxLTQ5OWUtODQzMS0xMTNhZWJkOWVmOTgiLCJzdWIiOiIxMDAtQVBJQURNSU4iLCJzY29wZSI6WyJyYWJiaXRtcS5yZWFkOiovKi8qIiwicmFiYml0bXEud3JpdGU6Ki8qLyoiLCJyYWJiaXRtcS5jb25maWd1cmU6Ki8qLyoiXSwiY2xpZW50X2lkIjoiMTAwLUFQSUFETUlOIiwiY2lkIjoiMTAwLUFQSUFETUlOIiwiYXpwIjoiMTAwLUFQSUFETUlOIiwidXNlcl9pZCI6IjEwMC1BUElBRE1JTiIsImFwcF9pZCI6InRpbGVjaGF0IiwiaWF0IjoxNjE0OTQzNDkyLCJleHAiOjE5MjU5ODM0OTIsImF1ZCI6WyJyYWJiaXRtcSIsIjEwMC1BUElBRE1JTiJdLCJraWQiOiJ0aWxlZGVzay1rZXkiLCJ0aWxlZGVza19hcGlfcm9sZXMiOiJhZG1pbiJ9.KptGMsTKjd3wUiiP1GGSTYqW1XXK1vjSRJnetC3wjxU - MONGODB_URI=mongodb://mongo/tiledesk - EMAIL_ENABLED - EMAIL_HOST - EMAIL_USERNAME - EMAIL_SECURE - EMAIL_PORT - EMAIL_PASSWORD - EMAIL_FROM_ADDRESS - "EMAIL_BASEURL=${EXTERNAL_BASE_URL:-http://localhost:8081}/dashboard" - "WEBHOOK_ORIGIN=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - "WIDGET_LOCATION=${EXTERNAL_BASE_URL:-http://localhost:8081}/widget/" - WS_SERVER_PATH #PLEASE DON'T PASTE THE LICENSE KEY HERE USE .ENV FILE. DOCKER ISSUE WITH /n char - LICENSE_KEY - CACHE_ENABLED=true - CACHE_ENGINE=redis - CACHE_REDIS_HOST=redis - CACHE_REDIS_PORT=6379 - APPS_ACCESS_TOKEN_SECRET=nodeauthsecret - BOOT_LOADING=true - META_GRAPH_URL=https://graph.facebook.com/v14.0/ - WHATSAPP_LOG=false - TELEGRAM_API_URL=https://api.telegram.org/bot - TELEGRAM_FILE_URL=https://api.telegram.org/file/bot - TELEGRAM_LOG=info - FB_APP_ID - FB_APP_SECRET - BASE_FILE_URL=${EXTERNAL_BASE_URL:-http://localhost:8081}/api/" - OPENAI_ENDPOINT - KB_ENDPOINT depends_on: - mongo ports: - "3000:3000" chat21httpserver: image: chat21/chat21-http-server:0.2.37 container_name: chat21httpserver restart: always environment: - LOG_LEVEL=info #- AUTO_RESTART=false - MONGODB_URI=mongodb://mongo/chat21 - JWT_KEY=tokenKey - RABBITMQ_URI=amqp://ignored:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiJiMjM1OTFmZS05N2FhLTRmNWQtOGVlOS0yNjQ2NzljYmM0M2YiLCJzdWIiOiIxMDAtQVBJQURNSU4iLCJzY29wZSI6WyJyYWJiaXRtcS5yZWFkOiovKi8qIiwicmFiYml0bXEud3JpdGU6Ki8qLyoiLCJyYWJiaXRtcS5jb25maWd1cmU6Ki8qLyoiXSwiY2xpZW50X2lkIjoiMTAwLUFQSUFETUlOIiwiY2lkIjoiMTAwLUFQSUFETUlOIiwiYXpwIjoiMTAwLUFQSUFETUlOIiwidXNlcl9pZCI6IjEwMC1BUElBRE1JTiIsImFwcF9pZCI6InRpbGVjaGF0IiwiaWF0IjoxNjk2NDkyMjg3LCJleHAiOjIwMDc1MzIyODcsImF1ZCI6WyJyYWJiaXRtcSIsIjEwMC1BUElBRE1JTiJdLCJraWQiOiJ0aWxlZGVzay1rZXkiLCJ0aWxlZGVza19hcGlfcm9sZXMiOiJhZG1pbiJ9.Ee-TpAPsoC7Dm7qsbUojeHud3E4OCtJZkpupu_R0Aic@rabbitmq:5672?heartbeat=60 - PUSH_ENABLED=true - FIREBASE_PRIVATE_KEY - FIREBASE_APIKEY - FIREBASE_PROJECT_ID - FIREBASE_CLIENT_EMAIL - PUSH_WH_CHAT21_API_ADMIN_TOKEN=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI5NGFjNjNmNy1hOGM3LTRkZGMtYjJkNS01MWE2MjBmNTdhNmIiLCJzdWIiOiIxMDAtQVBJQURNSU4iLCJzY29wZSI6WyJyYWJiaXRtcS5yZWFkOiovKi8qIiwicmFiYml0bXEud3JpdGU6Ki8qLyoiLCJyYWJiaXRtcS5jb25maWd1cmU6Ki8qLyoiXSwiY2xpZW50X2lkIjoiMTAwLUFQSUFETUlOIiwiY2lkIjoiMTAwLUFQSUFETUlOIiwiYXpwIjoiMTAwLUFQSUFETUlOIiwidXNlcl9pZCI6IjEwMC1BUElBRE1JTiIsImFwcF9pZCI6InRpbGVjaGF0IiwiaWF0IjoxNjM3NzYxNDM0LCJleHAiOjE5NDg4MDE0MzQsImF1ZCI6WyJyYWJiaXRtcSIsIjEwMC1BUElBRE1JTiJdLCJraWQiOiJ0aWxlZGVzay1rZXkiLCJ0aWxlZGVza19hcGlfcm9sZXMiOiJhZG1pbiJ9.fLPrGArRlnyC04552oBsUjohf6l_BIpxwB847xWvugo - PUSH_WH_NOTIFY_URL=http://localhost:8004/api/tilechat/notify - PUSH_WH_WEBHOOK_TOKEN=WHFyAhecCMkYsvldLFWbSrJt7lAZFAmrp7O5QVMvGQsLVn9SkfT - CACHE_ENABLED=false - CONTACTS_LOOKUP_ENDPOINT=http://server:3000/users_util depends_on: - mongo - rabbitmq ports: - "8004:8004" chat21server: image: chat21/chat21-server:0.2.53 container_name: chat21server restart: always environment: #- AUTO_RESTART=false - LOG_LEVEL=info - MONGODB_URI=mongodb://mongo/chat21 - APP_ID=tilechat - WEBHOOK_ENDPOINTS=http://server:3000/chat21/requests,http://chat21httpserver:8004/api/tilechat/push/webhook/endpoint/WHFyAhecCMkYsvldLFWbSrJt7lAZFAmrp7O5QVMvGQsLVn9SkfT - WEBHOOK_ENABLED=true - WEBHOOK_EVENTS=message-sent,message-delivered,conversation-unarchived - RABBITMQ_URI=amqp://ignored:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI3NjMwYTAwZS0xNTUxLTQ3Y2ItYmEzMC02NGRlNjJmYmNmNGYiLCJzdWIiOiIwMS1PQlNFUlZFUiIsInNjb3BlIjpbInJhYmJpdG1xLnJlYWQ6Ki8qLyoiLCJyYWJiaXRtcS53cml0ZToqLyovKiIsInJhYmJpdG1xLmNvbmZpZ3VyZToqLyovKiJdLCJjbGllbnRfaWQiOiIwMS1PQlNFUlZFUiIsImNpZCI6IjAxLU9CU0VSVkVSIiwiYXpwIjoiMDEtT0JTRVJWRVIiLCJ1c2VyX2lkIjoiMDEtT0JTRVJWRVIiLCJhcHBfaWQiOiJ0aWxlY2hhdCIsImlhdCI6MTY5NjQ5MjI4NywiZXhwIjoyMDA3NTMyMjg3LCJhdWQiOlsicmFiYml0bXEiLCIwMS1PQlNFUlZFUiJdLCJraWQiOiJ0aWxlZGVzay1rZXkiLCJ0aWxlZGVza19hcGlfcm9sZXMiOiJ1c2VyIn0.Lq0MLTYny7tIYVQ-KEDLlL-h7gAqofCfC2IDgI_0TOE@rabbitmq:5672?heartbeat=60 depends_on: - mongo - rabbitmq - server rabbitmq: image: chat21/chat21-rabbitmq container_name: rabbitmq environment: RABBITMQ_ERLANG_COOKIE: ${RABBITMQ_ERLANG_COOKIE} RABBITMQ_DEFAULT_USER: ${RABBITMQ_DEFAULT_USER} RABBITMQ_DEFAULT_PASS: ${RABBITMQ_DEFAULT_PASS} ports: - 5672:5672 - 15672:15672 - 1883:1883 - 15675:15675 # healthcheck: # test: [ "CMD", "nc", "-z", "localhost", "5672" ] # interval: 5s # timeout: 15s # retries: 1 mongo: container_name: mongo image: mongo:4.0.23 command: --bind_ip_all volumes: - tiledesk-datadb:/data/db redis: container_name: redis image: redis:7.0.5 ports: - "6379:6379" #ngrok: # container_name: ngrok # image: wernight/ngrok # command: ngrok http server:3000 # ports: # - '4040:4040'