AltFreeStack
Autenticación e Identidaddocker-readypermissive-license100% FOSS🟢 Ligero · ~256MB

Headscale: alternativa Open Source a Tailscale en 2026

Headscale es una implementación open source del servidor de coordinación de Tailscale: crea tu propia red mallada cifrada con WireGuard usando los mismos clientes oficiales, sin depender del control plane comercial.

Licencia BSD-3-Clause44.6k estrellasSitio web Repositorio en GitHub

Audit Snapshot

Ver notas →
  • Licencia — Coincide con GitHub

  • GitHub — Activo

  • Último release — v0.29.5 · hoy

  • Docker Compose — Parcial

  • Producción — No probado por AltFreeStack

Headscale vs. Tailscale

Ventajas

  • Compatible con la app oficial de Tailscale en todos los dispositivos
  • Cero dependencia del control plane comercial de Tailscale Inc.

A tener en cuenta

  • Requiere editar un archivo de configuración YAML, no todo se controla por variables de entorno
  • Algunas funciones nuevas del cliente oficial tardan en llegar a Headscale

Guía rápida de instalación con Docker

Copia este docker-compose.yml, ajusta las contraseñas de ejemplo y ejecuta docker compose up -d en tu servidor. Ver la guía completa paso a paso →

💡 ¿SaaS oficial o self-hosted con AltFreeStack?

  • En la nube oficial: una cuota mensual recurrente y límites de uso en Tailscale.
  • En tu propio VPS: software 100% gratis en tu propio servidor, sin límites artificiales de filas, proyectos ni usuarios.
docker-compose.yml
# Headscale necesita un archivo config.yaml montado además de las
# variables de entorno — copia el config-example.yaml oficial antes de
# arrancar:
services:
  headscale:
    image: headscale/headscale:0.29.4
    restart: unless-stopped
    command: serve
    ports:
      - "8080:8080"
    volumes:
      - ./config:/etc/headscale
      - headscale_data:/var/lib/headscale
volumes:
  headscale_data:

🚀 Despliegue en 1 comando

Recomendado para novatos

Copia este único comando y pégalo en la consola de tu VPS recién creado (Vultr, DigitalOcean...). Descarga el script, lo muestra en pantalla para que veas exactamente qué va a hacer (nunca un pipe directo a ciegas) y, solo entonces, instala Docker si hace falta, crea los archivos con los secretos ya generados y arranca todo — sin nano, sin copiar y pegar bloques de código.

curl -sSL ".../api/deploy?stack=headscale" -o deploy.sh && cat deploy.sh && bash deploy.sh

Este docker-compose corresponde a un proyecto con actividad reciente en GitHub — último commit hoy.

¿Este docker-compose no te funciona? Repórtalo en GitHub →

Ficha técnica

Licencia
BSD-3-Clause
Categoría
Autenticación e Identidad
Sustituye a
Tailscale
Stack técnico
GoSQLite

Bajo el capó

Base de datos

SQLite / PostgreSQL

Lenguaje

Go

Plataformas

Web · Desktop (Mac/Win/Linux) · Mobile (iOS/Android)

Funcionalidades principales

  • Compatible con los clientes oficiales de Tailscale en todos los dispositivos
  • Red mallada (mesh VPN) cifrada con WireGuard bajo el capó
  • Soporta ACLs, exit nodes y subredes igual que el servicio comercial

Preguntas frecuentes

¿Qué es Headscale?

Una implementación open source (BSD-3-Clause) del servidor de coordinación de Tailscale: crea tu propia red mallada cifrada con WireGuard usando los mismos clientes oficiales, sin depender del control plane comercial de Tailscale Inc.

¿Necesito el cliente de Headscale o el de Tailscale?

Usas los clientes oficiales de Tailscale en todos tus dispositivos — Headscale solo sustituye el servidor de coordinación (control plane) al que se conectan, no el cliente.

¿Headscale soporta ACLs y exit nodes como el servicio comercial?

Sí, soporta ACLs, exit nodes y subredes igual que Tailscale Inc. A cambio, requiere editar un archivo de configuración YAML — no todo se controla solo con variables de entorno.

💾 Copias de seguridad en 3 pasos (Día 2)

Mientras la carpeta ./data (el "volumen" mapeado al contenedor) exista en tu servidor, tus datos sobreviven a cualquier reinicio o actualización — es lo único que necesitas respaldar.

1. Crea una copia comprimida en el servidor

tar -czvf backup-$(date +%F).tar.gz ./data

2. Descárgala a tu ordenador

Desde la terminal de tu ordenador (no la de tu servidor):

scp root@TU_IP:~/app/backup-*.tar.gz ./

3. Restaura en caso de emergencia

tar -xzvf backup-archivo.tar.gz
🌐 Conectar tu dominio con SSL gratis

Paso 1 — Configura el DNS

En el panel de tu registrador de dominio (Cloudflare, Namecheap, GoDaddy...), crea un registro:

Tipo
A
Nombre/Host
@ (dominio raíz) o un subdominio, ej. app
Contenido/Valor
La IP pública de tu servidor

Espera entre 5 y 15 minutos a que el registro se propague por internet.

Paso 2 — Proxy inverso automático con Caddy

Un solo archivo, sin configurar Nginx ni certificados manuales — Caddy emite y renueva el HTTPS de Let's Encrypt solo.

Crea un archivo llamado Caddyfile:

tudominio.com {
    reverse_proxy localhost:8080
}

Levanta Caddy con este comando (descarga la imagen y arranca en segundo plano):

docker run -d -p 80:80 -p 443:443 --name caddy --restart always -v $PWD/Caddyfile:/etc/caddy/Caddyfile -v caddy_data:/data caddy