Use this information to quickly start up Tiledesk Community using Docker Compose.
The Tiledesk Community Docker Compose file is beta and contains the latest work-in-progress deployment scripts and installs the latest development version of Tiledesk.
Our tests are executed using the latest version of Docker and Docker Compose provided by CircleCI.
To deploy Tiledesk Community using docker-compose, you’ll need to install the following software:
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
EXTERNAL_BASE_URL="http://99.88.77.66:8081" EXTERNAL_MQTT_BASE_URL="ws://99.88.77.66:8081" docker-compose up
host:container
port definitions. You’ll see they include 3000, 4200, 4500, 8082, 8004, 8081 and 5672,15672,1883,15675 for rabbitmq and 27017 for mongodb. Use for example sudo lsof -i -P -n | grep LISTEN
linux command to check the ports are unused when Tiledesk is stopped.To start Tiledesk in background: docker-compose up -d
. If you want to see the log: docker-compose logs -t -f --tail 5
Run the lastest nightly build Tiledesk release with: docker-compose -f docker-compose-latest.yml up
You can configure a custom domain to access to you installation (Ex http://mydomain.com) using an NGINX web server as a reverse proxy .
sudo apt-get install nginx
cd /etc/nginx/sites-enabled
nano mydomain.com.conf
Use the following Nginx config after replacing the mydomain.com in server_name .
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;
}
}
Verify and reload your Nginx config by running the following command.
nginx -t
sudo service nginx restart
Run Tiledesk with the custom domain:
EXTERNAL_BASE_URL="http://mydomain.com" EXTERNAL_MQTT_BASE_URL="ws://mydomain.com" docker-compose up
Your installation should be accessible from the http://mydomain.com now.
You can configure HTTPS using Let’s Encrypt.
apt install certbot
apt-get install python3-certbot-nginx
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
Attention you must specify https in the EXTERNAL_BASE_URL and wss in the EXTERNAL_MQTT_BASE_URL env variables.
Your installation should be accessible from the https://mydomain.com now.
To update Tiledesk images to the latest version, run: docker-compose pull
To bring the system down and cleanup the containers run: docker-compose down
. To delete also the volumes : docker-compose down -v
Service | URL | Component |
---|---|---|
Reverse Proxy | http://localhost.8081/ | tiledesk-docker-proxy |
Tiledesk REST API | http://localhost.8081/api/ | tiledesk-server |
Tiledesk WebSocket API | 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 | |
Rabbit MQ | http://localhost:8081/mqws/ | chat21-rabbitmq |
Note: Change http to https and ws (for websocket) to wss if an SSL certificate is configured.