tiledesk

Deploying Tiledesk Community using Docker Compose

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.

Prerequisites

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/

Deploying Tiledesk Community

  1. Download Tiledesk with:
    curl https://raw.githubusercontent.com/Tiledesk/tiledesk-deployment/master/docker-compose/docker-compose.yml --output docker-compose.yml
    
  2. Run with:
    docker-compose up
    
  3. Open the following URL in your browser to start
  4. http://localhost:8081/

  5. Signin as admin with :
    • email: admin@tiledesk.com
    • password: superadmin

Tips & Troubleshooting

Run in background

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 release

Run the lastest nightly build Tiledesk release with: docker-compose -f docker-compose-latest.yml up

Setting up a custom domain

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.

Add HTTPS

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.

Update

To update Tiledesk images to the latest version, run: docker-compose pull

Cleanup

To bring the system down and cleanup the containers run: docker-compose down. To delete also the volumes : docker-compose down -v

Try online with Play With Docker

Service Endpoints

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.