This guide explains how to quickly deploy Tiledesk Community using Docker Compose.
⚠️ The Tiledesk Community Docker Compose configuration is currently in beta.
It contains the latest work-in-progress deployment scripts and installs the latest development version of Tiledesk.
All tests are executed using the most recent versions of Docker and Docker Compose, as provided by CircleCI.
Before you begin, ensure that the following software is installed:
| Component | Installation Guide |
|---|---|
| Docker | https://docs.docker.com/ |
| Docker Compose | https://docs.docker.com/compose/install/ |
-
Download the Docker Compose file:
curl https://raw.githubusercontent.com/Tiledesk/tiledesk-deployment/master/docker-compose/docker-compose.yml --output docker-compose.yml
-
Start Tiledesk:
docker-compose up
-
Open your browser and visit: http://localhost:8081/
-
Sign in as admin:
- Email:
admin@tiledesk.com - Password:
superadmin
- Email:
-
Public IP Configuration:
If you have a public IP, set it in theEXTERNAL_BASE_URLandEXTERNAL_MQTT_BASE_URLenvironment variables:EXTERNAL_BASE_URL="http://99.88.77.66:8081" EXTERNAL_MQTT_BASE_URL="ws://99.88.77.66:8081" docker-compose up
-
Port Configuration:
Ensure that all required ports are available on your host.
Refer to thedocker-compose.ymlfile to identify the exposed ports (e.g.,3000,4200,4500,8081,8082,8004,5672,15672,1883,15675,27017).
Use the command below to verify that ports are not already in use:sudo lsof -i -P -n | grep LISTEN
Tiledesk supports RAG (Retrieval-Augmented Generation) to enhance chatbot answers using your own data sources. The Community version uses Qdrant as vectore store.
-
Configure the GPTKEY environment variable to enable managed GPT integration: For a centralized, managed AI setup across multiple tenants (projects), set your
GPTKEYin thedocker-compose.ymlfile under theserver,chatbot,backend-llm-train, andbackend-llm-qacontainer sections:GPTKEY=sk-proj-I0Noo...Alternatively, you can configure individual keys per project by specifying the corresponding API key in Settings → Integrations (See point 3).
-
(Optional) Custom Embeddings In order to use custom embeddings instead of OpenAI's default ones, under the
servercontainer section, set:EMBEDDINGS_PROVIDER=your-embeddings-provider #i.e. huggingface EMBEDDINGS_NAME=your-embedding-name #i.e. sentence-transformers/all-MiniLM-L6-v2 EMBEDDINGS_DIMENSIONE=your-embeddings-dimension #i.e. 384
-
(Optional) Native and Custom Models (Ollama) Tiledesk natively supports OpenAI models and various common LLM models such as: Google Gemini, Anthropic, Groq and Cohere, for which you need to enter your API Key on the Tiledesk platform.
Example: Go to Settings -> Integration -> Google Gemini and set your API Key
And to configure Ollama with your custom models.
Example: Go to Settings -> Integration -> Ollama and set - Server URL: https://ollama-dev.mycompany.internal:11434 - Models: the list of your supported models
To run Tiledesk in detached mode:
docker-compose up -dTo view logs:
docker-compose logs -t -f --tail 5Use the following command to deploy the latest nightly build:
docker-compose -f docker-compose-latest.yml upYou can configure a custom domain (e.g., http://mydomain.com) using NGINX as a reverse proxy.
-
Install and configure NGINX:
sudo apt-get install nginx cd /etc/nginx/sites-enabled sudo nano mydomain.com.conf -
Add the following configuration (replace
mydomain.comwith your domain):map $http_upgrade $connection_upgrade { default upgrade; '' close; } server { listen 80; server_name mydomain.com; location / { proxy_pass http://localhost:8081; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; } }
-
Validate and restart NGINX:
sudo nginx -t sudo service nginx restart
-
Run Tiledesk with your domain:
EXTERNAL_BASE_URL="http://mydomain.com" EXTERNAL_MQTT_BASE_URL="ws://mydomain.com" docker-compose up
Your installation should now be accessible at:
👉 http://mydomain.com
-
Install Certbot and the NGINX plugin:
sudo apt install certbot sudo apt-get install python3-certbot-nginx
-
Obtain and install the SSL certificate:
sudo certbot --nginx -d mydomain.com
-
Run Tiledesk with HTTPS:
EXTERNAL_BASE_URL="https://mydomain.com" EXTERNAL_MQTT_BASE_URL="wss://mydomain.com" docker-compose up
⚠️ Make sure to use:
httpsinEXTERNAL_BASE_URLwssinEXTERNAL_MQTT_BASE_URL
Your installation should now be accessible at:
👉 https://mydomain.com
To update all Tiledesk images to the latest version:
docker-compose pullTo stop and remove all containers:
docker-compose downTo also remove volumes:
docker-compose down -vYou can test Tiledesk directly in your browser using Play With Docker:
| Service | URL | Component |
|---|---|---|
| Reverse Proxy | http://localhost:8081/ | tiledesk-docker-proxy |
| Tiledesk REST API (docs) | http://localhost:8081/api/ | tiledesk-server |
| Tiledesk WebSocket API (docs) | ws://localhost:8081/ws/ |
tiledesk-server |
| Tiledesk Dashboard | http://localhost:8081/dashboard/ | tiledesk-dashboard |
| Web Chat | http://localhost:8081/chat/ | chat21-ionic |
| Widget | http://localhost:8081/widget/ | chat21-web-widget |
| Chat REST API | http://localhost:8081/chatapi/ | chat21-http-server |
| Chat Server MQTT | – | chat21-server |
| RabbitMQ | http://localhost:8081/mqws/ | chat21-rabbitmq |
💡 If SSL is enabled, replace
httpwithhttpsandwswithwss.
