Vamos te ensinar a instalar o **Kanban para Chatwoot** usando o **EasyPanel** nesse tutorial. Siga o passo a passo com atenção para que funcione corretamente.

Dito isso, vamos lá:

1. Navegue até o projeto do seu Chatwoot no EasyPanel e clique na aba "Source" no menu lateral esquerdo.

   ![](https://app.stacklab.digital/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBa3dOIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e755355d8274ac36142ab56dd645c38b1ce34db2/image.png)

2. Após isso, no campo "Image" da aba "Docker Image", mude para a imagem do Kanban: ***stacklabdigital/kanban:latest***

   ![](https://app.stacklab.digital/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBazBOIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2f2412c853df2643dfe56289118aa0e9939862a2/image.png)

3. Agora vamos inserir seu Token da StackLab no ambiente do seu Chatwoot. Pra isso, no menu lateral esquerdo, clique na aba "Enviroment"

   ![](https://app.stacklab.digital/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBazhOIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--2244b3ba2c7cc872a0ef2f3d23789ff740b55307/image.png)

4. Crie uma nova variável de ambiente chamada **STACKLAB_TOKEN** e cole o token que você recebeu no momento da compra.

5. Repita esse processo tanto pros serviços ***chatwoot*** e ***chatwoot-sidekiq***, colocando a imagem e o token do Kanban em ambos os serviços.

6. Após isso clique em "Deploy" para aplicar a alteração

   ![](https://app.stacklab.digital/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbEFOIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--d3217e814afeedd8579d65c96bb7c896e8365601/image.png)

7. Agora clique no botão de console e rode o comando abaixo para executar a migração do banco de dados e criar as tabelas do Kanban. Veja o icone abaixo: 

   ![](https://app.stacklab.digital/rails/active_storage/blobs/redirect/eyJfcmFpbHMiOnsibWVzc2FnZSI6IkJBaHBBbElOIiwiZXhwIjpudWxsLCJwdXIiOiJibG9iX2lkIn19--e54db10951a442438dc2aac0d14b0a0608f7397d/image.png)

8. Selecione a opção "sh" e rode o comando: ***bundle exec rails db:migrate***

Pronto, seu **Kanban para Chatwoot** está instalado! O processo de atualização é exatamente o mesmo.

## **Dicas Bônus**

**Porque é importante usar o S3 no Chatwoot?**

Quando armazenamos os nossos arquivos direto no armazenamento local do Chatwoot ficamos refém do servidor em que as imagens e arquivos estão hospedados ficar indisponível, sofrer gargalos que afetam a integridade dos demais serviços, corromper informações e uma série de outros fatores. O armazenamento S3 é um protocolo especializado para guardar arquivos com segurança e performance além de permitir que seu Chatwoot tenha um serviço robusto que servirá as imagens para sua aplicação.

Saiba mais sobre o protocolo S3: [**https://aws.amazon.com/pt/s3/getting-started/**](https://aws.amazon.com/pt/s3/getting-started/)

## **Alguns dos bugs mais comuns de ocorrer no processo de instalação e atualização:**

* *“Mudei a imagem dos dois serviços mas não aparece a opção de Kanban no Chatwoot.ˮ*

Isso geralmente ocorre quando antes de fazer o *redeploy,* os volumes não são apagados. Limpe os volumes e faça o redeploy pra que as modificações sejam aplicadas.

* *“Atualizei o Kanban para Chatwoot e apareceu “rejectedˮ no containerˮ*

Esse erro é causado 90% das vezes pelo nome errado da imagem. Certifique-se se estar usando a versão mais atualizada com o nome correto da imagem: **stacklabdigital/kanban:latest**

## **Docker Hub com tags atualizadas:**

[**https://hub.docker.com/r/stacklabdigital/kanban/tags**](https://hub.docker.com/r/stacklabdigital/kanban/tags)

## **Comandos uteis para gerenciar o banco de dados do Chatwoot**

* ***bundle exec rails db:migrate***

  Aplica as migrations pendentes no seu banco de dados atual após uma atualização.

* ***bundle exec rails db:rollback***

  Desfaz a última migration (1 step). Útil em caso de erros.

* ***bundle exec rails db:rollback STEP=3***

  Desfaz as últimas 3 migrations.

* ***bundle exec rails db:migrate:status***

  Mostra o status das migrations (aplicadas ou não).

* ***bundle exec rails db:seed***

  Executa o arquivo db/seeds.rb.

* ***bundle exec rails db:reset***

  Dropa, cria, migra e roda seeds no banco (**cuidado: apaga os dados!**).