Ticketz é um comunicador com recursos de CRM e helpdesk que utiliza Whatsapp como meio de comunicação com os clientes.
Este projeto foi iniciado em um projeto Open Source, publicado pelo desenvolvedor Cassio Santos sob a licença permissiva MIT. Depois recebeu diversas melhorias por autores não identificados e foi comercializado diretamente entre desenvolvedores e usuários com fornecimento de código fonte, e de acordo com informações deste vídeo acabou em algum momento sendo vazado e publicado abertamente
Após algumas pesquisas foi ainda identificado que a primeira versão SaaS do Whaticket foi criada pelo desenvolvedor Wender Teixeira, inclusive uma versão do Whaticket Single que faz uso da biblioteca Baileys para acesso ao Whatsapp.
É praticamente impossível identificar e creditar os autores das melhorias, o código publicado pelo canal Vem Fazer não menciona licença alguma portanto estou presumindo que todos os autores estão tranquilos em manter estas alterações sob a mesma licença do projeto original (MIT)
Como estou fazendo estas alterações e disponibilizando sem custo algum, desejo que elas estejam disponíveis a todos, por isso estou optando por relicenciar sob a AGPL, que exige que todo usuário que tenha acesso ao sistema possa obter o código fonte.
Por isso, se você utilizar diretamente esta versão, é muito importante manter o link na tela "Sobre o Ticketz", que dá acesso ao repositório. Se você desejar pode mover o link para o código fonte para outro lugar, mas ele deve ser facilmente acessível por qualquer usuário do sistema.
Caso você faça alterações no código você deve alterar o link para um repositório ou outra forma de obter o código das suas alterações.
Se você deseja utilizar partes do código para corrigir algum código para seu próprio em uso, fique a vontade e não precisa se preocupar com a licença AGPL, Porém se você deseja utilizar qualquer parte adicionada nesse projeto em um sistema que você comercializa, ou você deve fornecer o código de todo o seu sistema ao usuários dele ou você deve contatar o autor do código para licenciar ele sob critérios diferentes.
Este projeto tem por objetivo melhorar e manter abertas as atualizações sobre o Whaticket SaaS publicado. Principalmente direcionadas à qualidade da aplicação e à facilidade de instalação e utilização.
As melhorias desenvolvidas por mim serão colocadas aqui, dependendo posso transpor, sempre creditando, códigos e melhorias publicados em outros projetos também derivados do Whaticket Community ou do Whaticket SaaS.
Sempre que possível pretendo fazer backport de alguns ajustes feitos aqui aos projetos originais
Existem imagens Docker fornecidas pelo projeto, então você pode fazer o ticketz funcionar muito facilmente em um servidor público (baremetal ou VPS).
Antes de começar, você deve completar esta lista de verificação:
- Ter um servidor limpo rodando Ubuntu 20 ou mais recente
- Portas 80 e 443 disponíveis e não filtradas pelo firewall
- Um nome de host com DNS configurado apontando para o seu servidor
Após isso, basta fazer login no seu servidor e emitir o seguinte comando, substituindo os nomes de host que você já configurou e seu endereço de email:
curl -sSL get.ticke.tz | sudo bash -s app.exemplo.com [email protected]
Após alguns minutos, você terá o servidor rodando no nome que você deu para o host.
O login padrão é o endereço de email fornecido no comando de instalação e a senha padrão é 123456
, você deve alterá-la imediatamente.
A atualização é tão fácil quanto a instalação, você só precisa fazer login no seu servidor usando o mesmo nome de usuário que você usou na instalação e emitir o seguinte comando:
curl -sSL update.ticke.tz | sudo bash
Seu servidor ficará fora do ar e após alguns minutos ele estará rodando na última versão lançada.
Como todos os elementos estão rodando em containers, os logs devem ser verificados através do comando docker.
Você deve fazer login no seu servidor usando o mesmo usuário que você usou para a instalação.
Primeiro você precisa mover o diretório atual para a pasta de instalação:
cd ~/ticketz-docker-acme
Após isso, você pode obter um relatório completo de logs com o seguinte comando:
docker compose logs -t
Se você quiser "seguir" os logs em tempo real, basta adicionar um parâmetro -f
a esse comando:
docker compose logs -t -f
Para a instalação é necessário ter o Docker Community Edition e o cliente Git instalados. O ideal é buscar a melhor forma de instalar estes recursos no sistema operacional de sua preferência. O guia oficial de instalação do Docker pode ser encontrado aqui.
Em ambos os casos é necessário clonar o repositório, necessário então abrir um terminal de comandos:
git clone https://github.com/allgood/ticketz.git
cd ticketz
Por padrão a configuração está ajustada para executar o sistema apenas no
próprio computador. Para executar em uma rede local é necessário editar os
arquivos .env-backend-local
e .env-frontend-local
e alterar os endereços
de backend e frontend de localhost
para o ip desejado, por exemplo
192.168.0.10
Para executar o sistema basta executar o comando abaixo:
docker compose -f docker-compose-local.yaml up -d
Na primeira execução o sistema vai inicializar os bancos de dados e tabelas, e após alguns minutos o Ticketz estará acessível pela porta 3000
O usuário padrão é [email protected]
e a senha padrão é 123456
A aplicação irá se reiniciar automaticamente a cada reboot do servidor.
A execução pode ser interrompida com o comando:
docker compose -f docker-compose-local.yaml down
Tendo um servidor acessível pela internet, é necessário ajustar dois nomes de DNS a sua escolha, um para o backend e outro para o frontend, e também um endereço de email para cadastro dos certificados, por exemplo:
- backend: api.ticketz.exemplo.com.br
- frontend: ticketz.exemplo.com.br
- email: [email protected]
É necessário editar os arquivos .env-backend-acme
e .env-frontend-acme
definindo neles estes valores.
Se desejar utilizar reCAPTCHA na inscrição de empresas também é necessário inserir as chaves secretas e de site nos arquivos de backend e frontend, respectivamente.
Este guia presume que o terminal está aberto e logado com um usuário comum
que tem permissão para utilizar o comando sudo
para executar comandos como
root.
Estando então na pasta raiz do projeto, executa-se o seguinte comando para iniciar o serviço:
sudo docker compose -f docker-compose-acme.yaml up -d
Na primeira execução o Docker irá fazer a compilação do código e criação dos conteiners, e após isso o ticketz vai inicializar os bancos de dados e tabelas. Esta operação pode levar bastante tempo, depois disso o Ticketz estará acessível pelo endereço fornecido para oo frontend.
O usuário padrão será o endereço de email fornecido na configuração do arquivo .env-backend-acme
e a senha padrão é 123456
A aplicação irá se reiniciar automaticamente a cada reboot do servidor.
Para encerrar o serviço utiliza-se o seguinte comando:
sudo docker compose -f docker-compose-acme.yaml down
Este projeto não está afiliado à Meta, WhatsApp ou qualquer outra empresa. A utilização do código fornecido é de responsabilidade exclusiva dos usuários e não implica em qualquer responsabilidade para o autor ou colaboradores do projeto.
Se este projeto ajudou você em uma tarefa complexa, considere fazer uma doação ao autor pelo Paypal ou PIX.
Chave Pix: 0699c69d-0951-4686-a5b7-c6cd21aa7e15