Cada conta no endereço do seu cliente
A partir da versão 0.7.0, cada conta do Chatme pode atender no domínio do próprio cliente, como atendimento.cliente.com.br. Você prepara o servidor uma vez. Depois, cada domínio novo é cadastrado no console, sem editar a stack.
Domínios próprios
Preparação do servidor, uma vez só
Antes de começar
- Chatme 0.7.0 ou mais recente
- Traefik 2.11 ou 3, com resolver ACME e certificados guardados em volume
- Acesso à configuração estática do Traefik
- DNS sem proxy de CDN (na Cloudflare, nuvem cinza)
Aponte o domínio principal
O domínio de
PUBLIC_BASE_URLprecisa de um registro A para o IPv4 público da VPS. Crie AAAA só se a VPS também atende por IPv6. Deixe o proxy de CDN desligado nele e nos domínios dos clientes.Gere o segredo do provider
Esse segredo autentica o Traefik no Chatme. Ele fica só nas definições das stacks, nunca em repositório.
bashopenssl rand -hex 32Adicione as variáveis ao Chatme
Na stack do Chatme, adicione as variáveis abaixo e troque o IP de exemplo pelo IP público real.
TRUST_PROXY_HEADERS=trueé obrigatório porque o Traefik termina o HTTPS antes do Chatme; mantenha o serviço inacessível por fora do proxy.yaml# No Swarm, o endereço é nomedastack_nomedoserviço. No Docker Compose, normalmente http://chatme:8081. environment: - PUBLIC_BASE_URL=https://app.suaempresa.com.br - TRUST_PROXY_HEADERS=true - CUSTOM_DOMAINS_IPS=203.0.113.10 - CUSTOM_DOMAINS_PROXY_TOKEN=SEU_SEGREDO - CUSTOM_DOMAINS_UPSTREAM_URL=http://chatme_chatme:8081Atenção: As três
CUSTOM_DOMAINS_*vão juntas. Preencher só parte delas impede o boot, e o log indica qual variável está errada.Ligue o provider HTTP no Traefik
Na configuração estática do Traefik, acrescente o provider sem remover os providers, entradas e resolver que já existem. O usuário é literalmente
domainse a senha é o segredo do passo 2.yamlcommand: - --providers.http.endpoint=http://domains:SEU_SEGREDO@chatme_chatme:8082/traefik - --providers.http.pollinterval=5s - --providers.http.polltimeout=5sSe o Traefik usa arquivo traefik.yml em vez de argumentos:
Ver a stack completa do Traefik no GitHubyamlproviders: http: endpoint: "http://domains:SEU_SEGREDO@chatme_chatme:8082/traefik" pollInterval: 5s pollTimeout: 5sAtenção: Traefik e Chatme precisam estar na mesma rede interna (
proxy, na stack oficial). Não publique a porta8082nem crie rota pública para/traefik.Observação: O Traefik aceita um único provider HTTP. Se outro serviço já usa um, fale com a gente antes de trocar.
Confira entradas e resolver
Se as entradas ou o resolver do seu Traefik têm outros nomes, informe-os ao Chatme. Os valores abaixo são os padrões. As portas
80e443precisam chegar ao Traefik.envCUSTOM_DOMAINS_HTTP_ENTRYPOINT=web CUSTOM_DOMAINS_ENTRYPOINT=websecure CUSTOM_DOMAINS_CERT_RESOLVER=letsencryptresolverAtualize as duas stacks
Em Console → Contas → conta → Editar domínios, o aviso de conexão pendente some quando o Traefik consultar o Chatme.
Depois da preparação
Para cada cliente
Cadastre o domínio em Console → Contas → conta → Editar domínios. O painel mostra o registro que o dono do domínio cria no provedor de DNS dele:
| Tipo | Nome | Destino |
|---|---|---|
| CNAME | atendimento | app |
Alguns provedores pedem só atendimento no campo de nome. Para domínio raiz (cliente.com.br), use o registro A/AAAA que o painel indica, normalmente com @. Preserve os registros de e-mail.
Cada conta aceita um domínio. Trocar o endereço desliga o anterior, sem redirecionamento. No domínio próprio, o login entra direto naquela conta, e convites, recuperação de senha e links compartilhados passam a usar esse endereço quando ele está ativo.
O que o painel mostra
- Aguardando DNS
- O registro ainda não aponta para o IP configurado. Confira o DNS, inclusive IPv6, e aguarde a propagação.
- Preparando HTTPS
- O DNS está certo e o certificado está sendo emitido. Se demorar, confira os nomes das entradas, o resolver, as portas e os logs do ACME.
- Ativo
- O endereço responde com HTTPS válido e já pode ser usado.
Bom saber
Licença e painéis gerenciados
A licença continua no domínio principal
PUBLIC_BASE_URL e a chave seguem ligados ao domínio principal da instalação. Domínios das contas não mudam a licença nem os limites do plano. Na área de membros, informe sempre o domínio principal.
Exemplo
- app.suaempresa.com.br
- Domínio principal: licença, console e área de membros
- atendimento.cliente.com.br
- Domínio da conta: só o atendimento daquele cliente
Coolify, Easypanel e modo manual
Painéis que gerenciam o Traefik por você podem não deixar editar a configuração estática. Sem as três variáveis, o Chatme fica em configuração manual.
Em configuração manual
- Cadastre o domínio na conta pelo console, como em qualquer instalação
- Adicione o mesmo domínio ao serviço
chatmeno seu painel - Aponte o DNS e deixe o painel emitir o HTTPS
O console também mostra estes trechos e copia um texto pronto para a IA que opera o seu servidor, em Preparar a instalação → Copiar instruções para IA.