Claude Code Meetup Monterrey 2026: Primer Meetup Anthropic Monterrey
Resumen del primer Claude Code Meetup en Monterrey: multi-agentes, workflows reales, hooks, skills, MCP y Claude en AWS, Google Cloud y Azure.
Miguel Fernandez
Aprende a integrar Tailscale con Coolify para conectar múltiples servidores de forma privada y segura, sin abrir puertos ni necesitar IP pública. Tutorial práctico con el caso real de Fencode.

Jesús Blanco
Autor

Si ya usas Coolify para gestionar tus servicios self-hosted, en algún momento te vas a encontrar con el mismo problema que nosotros: tienes más de un servidor y necesitas que se comuniquen entre sí de forma segura, pero no quieres exponer puertos al internet ni pagar por una IP pública.
La combinación de Coolify y Tailscale resuelve exactamente eso. Y lo hace de una forma tan limpia que, una vez que la configuras, te preguntas por qué no lo hiciste antes.
En Fencode usamos esta arquitectura para conectar nuestro servidor principal de Coolify con una mini PC adicional, para que un cliente externo pueda depositar archivos en nuestro servidor SFTP sin tener acceso a internet directo, y para que todo el equipo pueda acceder al dashboard de Coolify desde cualquier lugar sin abrir ningún puerto. Este tutorial explica cómo lo hicimos y cómo puedes replicarlo.
Coolify es una plataforma self-hosted para desplegar aplicaciones y servicios con Docker. Lo que hace bien es gestionar tus servicios, manejar los deploys y centralizar la administración en un panel. Lo que no hace es gestionar cómo se comunican tus servidores entre sí de forma segura.
Tailscale llena exactamente ese hueco. Crea una red privada cifrada entre todos tus dispositivos y servidores, basada en WireGuard, sin necesidad de configurar firewalls ni abrir puertos. Cada dispositivo recibe una IP estable en el rango 100.x.x.x que funciona desde cualquier red, en cualquier ubicación.
Juntos forman una arquitectura que es a la vez segura, simple de mantener y completamente libre de costos adicionales si ya tienes el servidor.
Antes de entrar al tutorial, vale la pena entender para qué sirve esta combinación en la práctica, porque dependiendo de tu caso la configuración varía ligeramente.
Caso 1: Acceder al dashboard de Coolify desde cualquier lugar. Por defecto, el dashboard de Coolify corre en el puerto 8000 de tu servidor. Si no tienes IP pública o no quieres exponer ese puerto, con Tailscale puedes acceder a él usando la IP de Tailscale de tu servidor directamente desde cualquier dispositivo de tu equipo.
Caso 2: Conectar un segundo servidor a Coolify. Coolify permite gestionar servicios en múltiples servidores desde un solo panel. Para que el servidor principal pueda comunicarse con el servidor secundario, ambos necesitan estar en la misma red privada. Tailscale es la forma más limpia de lograr eso sin configuración de firewall.
Caso 3: Dar acceso externo a un servicio sin exponer puertos. Si tienes un cliente o un sistema externo que necesita conectarse a un servicio en tu servidor, por ejemplo un servidor SFTP, puedes instalarlo en tu Tailscale network y darle acceso solo a él. El servicio nunca queda expuesto al internet público.
El plan gratuito de Tailscale incluye hasta 100 dispositivos y 3 usuarios, más que suficiente para la mayoría de equipos pequeños.
Conéctate al servidor por SSH y ejecuta el instalador oficial:
curl -fsSL https://tailscale.com/install.sh | sh
Una vez instalado, autentica el servidor con tu cuenta de Tailscale:
sudo tailscale up
El comando te va a mostrar un enlace. Ábrelo en el navegador, inicia sesión con tu cuenta de Tailscale y aprueba el dispositivo. En segundos el servidor va a aparecer en tu panel de administración de Tailscale con una IP asignada en el rango 100.x.x.x.
Para confirmar que todo funcionó y ver la IP asignada:
tailscale ip -4
Guarda esa IP. La vas a usar en los pasos siguientes.
Para que los miembros del equipo puedan acceder al dashboard de Coolify a través de Tailscale, cada uno necesita tener Tailscale instalado en su dispositivo.
En macOS e iOS se instala desde la App Store. En Windows desde el instalador oficial en tailscale.com/download. En Linux con el mismo comando del paso anterior.
Una vez instalado en cada dispositivo y autenticado con la misma cuenta de Tailscale, todos quedan conectados automáticamente en la misma red privada.
Con Tailscale corriendo en tu servidor y en tu dispositivo, ya puedes acceder al dashboard de Coolify usando la IP de Tailscale del servidor:
http://100.x.x.x:8000
Reemplaza 100.x.x.x con la IP real de Tailscale de tu servidor. Si activaste MagicDNS en el panel de administración de Tailscale, también puedes usar el nombre del dispositivo directamente:
http://nombre-del-servidor:8000
MagicDNS se activa en el panel de Tailscale en la sección DNS. No requiere ninguna configuración adicional en el servidor.
A partir de este momento puedes cerrar el puerto 8000 en tu firewall si lo tenías abierto. Coolify solo necesita ser accesible a través de Tailscale.
Si quieres gestionar servicios en un segundo servidor desde el mismo panel de Coolify, el proceso es directo.
Primero, instala Tailscale en el segundo servidor siguiendo el mismo proceso del Paso 1:
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Autentica con la misma cuenta de Tailscale. El segundo servidor va a aparecer en tu tailnet con su propia IP.
Luego, en el dashboard de Coolify, ve a Servers y agrega el servidor secundario. En el campo de IP o hostname, usa la IP de Tailscale del segundo servidor, no su IP pública ni su IP local:
100.x.x.x
Coolify va a conectarse al segundo servidor a través de la red privada de Tailscale. No necesitas abrir ningún puerto adicional en ninguno de los dos servidores.
Para que Coolify pueda gestionar el servidor secundario también necesita acceso SSH. Si ya tienes configurado el acceso SSH en tu servidor principal, puedes crear una clave SSH específica para Coolify y agregarla en el servidor secundario:
# En el servidor principal
ssh-keygen -t ed25519 -C "coolify" -f ~/.ssh/coolify_key
# Copia la clave pública al servidor secundario
ssh-copy-id -i ~/.ssh/coolify_key.pub usuario@100.x.x.x
En Coolify, agrega esa clave privada en Settings > SSH Keys y asóciala al servidor secundario.
Este fue el caso que nos llevó a descubrir la combinación en Fencode. Teníamos un servidor SFTP corriendo en Coolify y un cliente que necesitaba depositar archivos en él, pero nuestro servidor no tiene IP pública.
La solución es instalar Tailscale en el servidor del cliente y agregarlo a tu tailnet. Una vez que está en la misma red privada, puede conectarse a tu servidor SFTP usando la IP de Tailscale, exactamente igual que si estuvieran en la misma red local.
# En el servidor del cliente
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
Al autenticar, el servidor del cliente va a aparecer en tu panel de Tailscale. Desde ese momento puede conectarse a cualquier servicio en tu servidor usando su IP de Tailscale.
Si quieres restringir qué puede acceder el servidor del cliente dentro de tu red, Tailscale permite configurar ACLs (listas de control de acceso) en el panel de administración. Por ejemplo, puedes permitir que solo acceda al puerto 22 de tu servidor SFTP y nada más:
{
"acls": [
{
"action": "accept",
"src": ["tag:cliente-externo"],
"dst": ["tag:servidor-sftp:22"]
}
]
}
Las ACLs se configuran en el panel de Tailscale en la sección Access Controls y aplican a toda tu tailnet sin necesidad de cambiar nada en los servidores.
Una vez que tienes varios dispositivos en tu tailnet, recordar las IPs se vuelve incómodo. MagicDNS resuelve esto asignando nombres DNS automáticos a cada dispositivo.
Para activarlo, ve a tu panel de Tailscale en login.tailscale.com, entra a la sección DNS y activa MagicDNS. No requiere ningún cambio en los servidores.
A partir de ese momento puedes acceder a tus servicios por nombre:
http://servidor-principal:8000 # Dashboard de Coolify
http://servidor-secundario:3000 # Un servicio en el segundo servidor
Los nombres que Tailscale asigna son los hostnames de cada dispositivo. Puedes cambiarlos desde el panel de administración en la sección Machines.
Para que Tailscale se inicie automáticamente cada vez que el servidor reinicie, necesitas habilitarlo como servicio de systemd:
sudo systemctl enable tailscaled
sudo systemctl start tailscaled
En la mayoría de distribuciones modernas esto se configura automáticamente durante la instalación. Puedes verificarlo con:
sudo systemctl status tailscaled
Si el servicio está activo y habilitado, Tailscale va a estar corriendo cada vez que el servidor arranque sin que tengas que hacer nada.
Una vez que tienes todo configurado, estos son los comandos para verificar que todo está bien:
# Ver todos los dispositivos de tu tailnet y su estado
tailscale status
# Hacer ping a otro dispositivo de tu tailnet
tailscale ping nombre-del-dispositivo
# Ver la IP de Tailscale del dispositivo actual
tailscale ip -4
# Ver los logs de conexión
sudo journalctl -u tailscaled -f
Si tailscale ping responde con tiempos de latencia bajos, la conexión directa entre dispositivos está funcionando correctamente. Si ves mensajes de relay en lugar de conexión directa, revisa que los dos dispositivos puedan alcanzarse por UDP (Tailscale usa el puerto 41641 por defecto).
Después de varios meses usando esta combinación en Fencode, estas son las ventajas concretas:
Cero puertos abiertos al internet. Nuestro servidor de producción no tiene ningún puerto expuesto públicamente. Coolify, el servidor SFTP y los agentes de IA son accesibles solo desde dentro de la tailnet.
Acceso desde cualquier lugar sin fricción. Cualquier miembro del equipo puede acceder al dashboard de Coolify desde su laptop o móvil, independientemente de la red en la que esté, sin conectarse a ninguna VPN adicional.
Integración con clientes externos limpia y controlada. El cliente que deposita archivos en nuestro servidor SFTP está en nuestra tailnet con acceso restringido exactamente a lo que necesita. No tiene visibilidad de nada más.
Costo adicional: cero. Tailscale en el plan gratuito cubre perfectamente esta arquitectura. El único costo es el servidor, que ya tienes si usas Coolify.
Si llegaste hasta aquí, estos artículos te van a ser útiles para completar tu stack de infraestructura propia:
Resolvemos las dudas específicas sobre este tema.