Running Tiledesk with Docker Compose

This guide is still in beta. The docker images is nightly build so can contains bugs and instability.

Note that you need to know a bit of Docker and Docker Compose to follow these instructions.

Tiledesk uses Chat21 as messaging platform. Refer to Architecture overview to undestand the product's modules.

Please help us improving this documentation: if you encounter a problem, something you don’t understand or a typo, use this link to ask a question. You could also open a PR to directly fix the documentation on Github, if you want.

1. Run Docker Compose services

Run the following code:

mkdir tiledesk && cd tiledesk
curl --output docker-compose.yml
curl --output .env

Start all the Tiledesk services just typing:

docker-compose up -d

If docker is installed with root user run: sudo docker-compose up -d

Ensure the required tiledesk ports are open.

Verify the installation to

You should see the message "Hello from Tiledesk server. It's UP."

To see the log run:

docker-compose logs -t -f --tail 5

2. Firebase setup and Chat21 Cloud Functions installation

Follow the two steps described in the Setting up Chat21 with Firebase engine page to install Chat21 messaging engine with Firebase and configure it for Tiledesk.

3. Configure the .env file

Tiledesk is composed by different clients (web widget, web chat, dashboard, etc..).

You must configure the following properties:

  • FIREBASE_PRIVATE_KEY. Get it here. More info about firebase private key here.


  • FIREBASE_PROJECT_ID. Get it here.

  • FIREBASE_APIKEY. Get it here.




  • FIREBASE_MESSAGINGSENDERID. Get it here. A unique numerical value created when you create your Firebase project, available in the Cloud Messaging tab of the Firebase console Settings pane.

  • CHAT21_ENABLED. Enable Chat21 channel with true value.

  • FIREBASE_APP_ID. Get it here.

  • CHAT21_URL. Get it here.

  • CHAT21_APPID. Enter the value tilechat

  • CHAT21_ADMIN_TOKEN. The Chat21 admin token. The default value is chat21-secret-orgAa,. See here to change it.



To configure the parameters run the following command:

nano .env #configure your environment

4. Start docker compose

If docker is already running stop it with:

docker-compose stop

After that restart it with the following command :

docker-compose up -d

Open the the following URL and signin as admin with :

  • email:

  • password: adminadmin