Cada cuenta en la dirección de tu cliente
Desde la versión 0.7.0, cada cuenta de Chatme puede atender en el dominio del propio cliente, como atencion.cliente.com. Preparas el servidor una sola vez. Después, cada dominio nuevo se registra en la consola, sin editar el stack.
Dominios propios
Preparación del servidor, una sola vez
Antes de empezar
- Chatme 0.7.0 o más reciente
- Traefik 2.11 o 3, con resolver ACME y certificados guardados en un volumen
- Acceso a la configuración estática de Traefik
- DNS sin proxy de CDN (en Cloudflare, nube gris)
Apunta el dominio principal
El dominio de
PUBLIC_BASE_URLnecesita un registro A hacia la IPv4 pública del VPS. Crea AAAA solo si el VPS también responde por IPv6. Deja el proxy de CDN apagado en él y en los dominios de los clientes.Genera el secreto del provider
Este secreto autentica a Traefik ante Chatme. Vive solo en las definiciones de los stacks, nunca en un repositorio.
bashopenssl rand -hex 32Agrega las variables a Chatme
En el stack de Chatme, agrega las variables de abajo y cambia la IP de ejemplo por la IP pública real.
TRUST_PROXY_HEADERS=truees obligatorio porque Traefik termina el HTTPS antes de Chatme; mantén el servicio inaccesible por fuera del proxy.yaml# En Swarm, la dirección es nombredelstack_nombredelservicio. En 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=TU_SECRETO - CUSTOM_DOMAINS_UPSTREAM_URL=http://chatme_chatme:8081Atención: Las tres
CUSTOM_DOMAINS_*van juntas. Completar solo una parte impide el arranque, y el log indica qué variable está mal.Activa el provider HTTP en Traefik
En la configuración estática de Traefik, agrega el provider sin quitar los providers, entrypoints y resolver que ya existen. El usuario es literalmente
domainsy la contraseña es el secreto del paso 2.yamlcommand: - --providers.http.endpoint=http://domains:TU_SECRETO@chatme_chatme:8082/traefik - --providers.http.pollinterval=5s - --providers.http.polltimeout=5sSi Traefik usa un archivo traefik.yml en lugar de argumentos:
Ver el stack completo de Traefik en GitHubyamlproviders: http: endpoint: "http://domains:TU_SECRETO@chatme_chatme:8082/traefik" pollInterval: 5s pollTimeout: 5sAtención: Traefik y Chatme deben estar en la misma red interna (
proxy, en el stack oficial). No publiques el puerto8082ni crees una ruta pública para/traefik.Nota: Traefik acepta un único provider HTTP. Si otro servicio ya usa uno, habla con nosotros antes de cambiarlo.
Revisa entrypoints y resolver
Si los entrypoints o el resolver de tu Traefik tienen otros nombres, indícalos a Chatme. Los valores de abajo son los predeterminados. Los puertos
80y443deben llegar a Traefik.envCUSTOM_DOMAINS_HTTP_ENTRYPOINT=web CUSTOM_DOMAINS_ENTRYPOINT=websecure CUSTOM_DOMAINS_CERT_RESOLVER=letsencryptresolverActualiza los dos stacks
En Consola → Cuentas → cuenta → Editar dominios, el aviso de conexión pendiente desaparece cuando Traefik consulta a Chatme.
Después de la preparación
Para cada cliente
Registra el dominio en Consola → Cuentas → cuenta → Editar dominios. El panel muestra el registro que el dueño del dominio crea en su proveedor de DNS:
| Tipo | Nombre | Destino |
|---|---|---|
| CNAME | atendimento | app |
Algunos proveedores piden solo atencion en el campo de nombre. Para un dominio raíz (cliente.com), usa el registro A/AAAA que indica el panel, normalmente con @. Conserva los registros de correo.
Cada cuenta acepta un dominio. Cambiar la dirección desactiva la anterior, sin redirección. En el dominio propio, el login entra directo a esa cuenta, y las invitaciones, la recuperación de contraseña y los enlaces compartidos pasan a usar esa dirección cuando está activa.
Lo que muestra el panel
- Esperando DNS
- El registro todavía no apunta a la IP configurada. Revisa el DNS, incluido IPv6, y espera la propagación.
- Preparando HTTPS
- El DNS está bien y el certificado se está emitiendo. Si tarda, revisa los nombres de los entrypoints, el resolver, los puertos y los logs de ACME.
- Activo
- La dirección responde con HTTPS válido y ya se puede usar.
Bueno saberlo
Licencia y paneles gestionados
La licencia sigue en el dominio principal
PUBLIC_BASE_URL y la clave siguen vinculados al dominio principal de la instalación. Los dominios de las cuentas no cambian la licencia ni los límites del plan. En el área de miembros, informa siempre el dominio principal.
Ejemplo
- app.suaempresa.com.br
- Dominio principal: licencia, consola y área de miembros
- atencion.cliente.com
- Dominio de la cuenta: solo la atención de ese cliente
Coolify, Easypanel y modo manual
Los paneles que administran Traefik por ti pueden no permitir editar la configuración estática. Sin las tres variables, Chatme queda en configuración manual.
En configuración manual
- Registra el dominio en la cuenta desde la consola, como en cualquier instalación
- Agrega el mismo dominio al servicio
chatmeen tu panel - Apunta el DNS y deja que el panel emita el HTTPS
La consola también muestra estos fragmentos y copia un texto listo para la IA que opera tu servidor, en Preparar la instalación → Copiar instrucciones para IA.