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/ |
curl https://raw.githubusercontent.com/Tiledesk/tiledesk-deployment/master/docker-compose/docker-compose.yml --output docker-compose.yml
docker-compose up
Open your browser and visit: http://localhost:8081/
admin@tiledesk.com
superadmin
EXTERNAL_BASE_URL
and EXTERNAL_MQTT_BASE_URL
environment variables:
EXTERNAL_BASE_URL="http://99.88.77.66:8081" EXTERNAL_MQTT_BASE_URL="ws://99.88.77.66:8081" docker-compose up
docker-compose.yml
file to identify the exposed ports (e.g., 3000
, 4200
, 4500
, 8081
, 8082
, 8004
, 5672
, 15672
, 1883
, 15675
, 27017
).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 GPTKEY
in the docker-compose.yml
file under the server
, chatbot
, backend-llm-train
, and backend-llm-qa
container 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).
server
container 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
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 -d
To view logs:
docker-compose logs -t -f --tail 5
Use the following command to deploy the latest nightly build:
docker-compose -f docker-compose-latest.yml up
You can configure a custom domain (e.g., http://mydomain.com
) using NGINX as a reverse proxy.
sudo apt-get install nginx
cd /etc/nginx/sites-enabled
sudo nano mydomain.com.conf
mydomain.com
with 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;
}
}
sudo nginx -t
sudo service nginx restart
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
sudo apt install certbot
sudo apt-get install python3-certbot-nginx
sudo certbot --nginx -d mydomain.com
EXTERNAL_BASE_URL="https://mydomain.com" EXTERNAL_MQTT_BASE_URL="wss://mydomain.com" docker-compose up
β οΈ Make sure to use:
https
inEXTERNAL_BASE_URL
wss
inEXTERNAL_MQTT_BASE_URL
Your installation should now be accessible at:
π https://mydomain.com
To update all Tiledesk images to the latest version:
docker-compose pull
To stop and remove all containers:
docker-compose down
To also remove volumes:
docker-compose down -v
You 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
http
withhttps
andws
withwss
.