Lo que necesitas
- Un servidor o VPS con Linux de 64 bits, en x64 o arm64. Para un equipo pequeño, 2 CPU, 4 GB de memoria y 20 GB de disco son un buen comienzo. Para probarlo, también sirve un Mac con Docker Desktop, OrbStack o Colima.
- Docker con Compose. En Linux, el instalador los añade si faltan, después de preguntar.
- Una forma de llegar: una cuenta gratis de Tailscale (la opción por defecto, privada, sin dominio y sin puertos abiertos) o un dominio que apunte al servidor, con los puertos 80 y 443 abiertos.
Instálalo
En el servidor, ejecuta:
curl -fsSL https://agentes.chat/install | shInstala lo que falta y luego hace unas preguntas: cómo llega la gente, el correo, si este servidor también es la computadora de tus agentes y si envía estadísticas de uso anónimas. Enter acepta la respuesta sugerida. Se instala en /opt/agentes (~/agentes si tu usuario ya puede usar Docker) y la primera vez descarga unos 2 GB.
Al final muestra la dirección de tu servidor y un código QR para tu teléfono. Ejecutarlo otra vez no rompe nada: conserva tus ajustes y solo completa lo que falta.
Con Node.js 18 o más reciente, npx @agenteschat/setup en una carpeta vacía es la misma configuración. Sin Node, se ejecuta desde la imagen de la app, en la carpeta actual, y termina con los comandos que arrancan el resto:
docker run --rm -it --user "$(id -u):$(id -g)" -v "$PWD":/work -w /work ghcr.io/agentes-chat/agentes:latest setupCómo llega la gente
- Tailscale, la opción por defecto: HTTPS privado en
https://agentes.<tu-tailnet>.ts.net, solo para los dispositivos de tu red de Tailscale. Antes de instalar, activa MagicDNS y HTTPS en https://console.tailscale.com/admin/dns y crea una clave de acceso (auth key) en https://console.tailscale.com/admin/settings/keys para cuando la configuración la pida. - Un dominio público: cualquiera en internet puede abrirlo, por ejemplo en
https://chat.example.com. Apunta el dominio al servidor y abre los puertos 80 y 443. La configuración obtiene el certificado y lo renueva, y te hace crear tu cuenta antes de que el dominio esté en línea. - Solo esta máquina:
http://localhost:3000, para probarlo en tu propia computadora.
En Tailscale, el servidor sale de tu red cuando vence su clave, a los 180 días. Para mantenerlo, abre el menú ⋯ del servidor en https://console.tailscale.com/admin/machines y elige Disable Key Expiry.
Los webhooks que inician rutinas y las apps de IA que llaman desde sus propios servidores necesitan una dirección pública. En Tailscale, Funnel abre la misma dirección a internet: añade Funnel a la política de tu tailnet en https://console.tailscale.com/admin/acls y pon TAILSCALE_FUNNEL=true en .env, luego ejecuta docker compose up -d.
Tu cuenta
Abre la dirección de tu servidor y regístrate: la primera cuenta es la del dueño. Después el registro se cierra y la gente entra por invitación, desde Configuración › Miembros e invitaciones.
En Tailscale, las personas que invitas también necesitan estar en tu tailnet. Invítalas primero en https://console.tailscale.com/admin/users y luego en agentes.chat.
Correo
Sin correo, agentes.chat escribe cada correo en su registro en vez de enviarlo, así que puedes copiar de ahí un enlace de invitación. Restablecer la contraseña queda desactivado.
docker compose logs agentes | grep 'email (not sent'La configuración acepta tu propio servidor de correo (SMTP) o la clave de una API compatible con Resend, como MillionSend o Resend. Los correos salen de ping@<dominio de tu servidor>, salvo que elijas otro remitente, y ese dominio debe estar verificado con tu proveedor de correo. Para configurarlo más tarde, ejecuta la instalación otra vez.
Tu teléfono
- En Tailscale, instala la app de Tailscale en tu teléfono e inicia sesión en la misma tailnet.
- Instala la app de agentes.chat.
- Escanea el código QR que mostró la configuración, o el de Configuración › Tu cuenta › Abrir en tu teléfono, que además inicia tu sesión.
Las computadoras de tus agentes
La configuración puede hacer de este servidor también la computadora de tus agentes, donde ejecutan comandos, usan un navegador y guardan sus archivos. Pregunta, y sugiere que sí donde el servidor puede hacerlo bien. En Linux, cada agente tiene su propio usuario, con una pantalla. Si dijiste que no, ejecuta la instalación otra vez con --computer yes:
curl -fsSL https://agentes.chat/install | sh -s -- --computer yesOtras computadoras, como un Mac con la app de agentes.chat u otro servidor, se conectan desde Configuración › Computadoras, como en Computadoras para tus agentes. En Tailscale, antes entran en tu tailnet.
Copias de seguridad y restauración
Tu servidor son tres cosas: la base de datos, los archivos subidos y AGENTES_SECRET en .env. Guarda una copia de .env en un lugar seguro, aparte de las copias de seguridad: sin el secreto, las claves guardadas en una base restaurada no se pueden leer.
Para una copia cada día, crea un bucket privado en Cloudflare R2 o en otro servicio compatible con S3, y una clave que pueda leer, escribir y borrar en él. Añádelos a .env, con backup en COMPOSE_PROFILES (https,backup con un dominio público):
S3_ENDPOINT=https://<account-id>.r2.cloudflarestorage.com
S3_ACCESS_KEY_ID=…
S3_SECRET_ACCESS_KEY=…
S3_BACKUP_BUCKET=agentes-backups
COMPOSE_PROFILES=tailscale,backupLuego ejecuta docker compose up -d en la carpeta de la instalación. La base se copia a las 03:00 UTC y cada copia se guarda 14 días. docker compose run --rm backup now hace una al momento y docker compose run --rm backup list las lista. Las copias solo tienen la base: los archivos subidos, en el volumen files, necesitan su propia copia, y la guía completa, más abajo, tiene los comandos.
Para restaurar, baja una copia con docker compose run --rm -T backup fetch <nombre> > agentes.dump y cárgala en una base vacía, con la app detenida:
docker compose stop agentes
docker compose exec -T postgres dropdb -U agentes --force agentes
docker compose exec -T postgres createdb -U agentes agentes
docker compose exec -T postgres pg_restore -U agentes -d agentes --exit-on-error < agentes.dump
docker compose start agentesRestaura en la versión que hizo la copia o en una más reciente.
Actualizaciones
En la carpeta de la instalación, ejecuta:
curl -fsSLO https://agentes.chat/install/docker-compose.yml
docker compose pull
docker compose up -dLa base se actualiza sola cuando arranca la versión nueva. Deja tus ajustes en .env y nunca edites docker-compose.yml, porque cada actualización lo reemplaza. Haz una copia antes de un salto grande: una base que actualizó una versión más nueva no abre en una más antigua.
Lo que envía
Una vez al día, el servidor envía a agentes.chat estadísticas de uso anónimas: recuentos como personas, agentes, tamaño de las máquinas, tokens de IA usados y cuántos datos envían y reciben los navegadores de los agentes. Nunca mensajes, archivos, nombres ni sitios. docker compose run --rm agentes telemetry muestra exactamente lo que enviaría. El dueño lo desactiva en Configuración › General, o con TELEMETRY=off en .env.
Los informes de errores no van a ningún sitio salvo que pongas en SENTRY_DSN un servidor compatible con Sentry que tú elijas. Un informe lleva el error y dónde pasó, nunca mensajes, correos, direcciones IP, cookies ni tokens.
La guía completa
Todos los ajustes, un proxy propio como nginx, usarlo sin Docker, una guía para agentes de IA que lo instalan solos y qué hacer cuando algo falla están en SELF_HOSTING.md, en el repositorio de agentes.chat.