Guía de despliegue

Authentik vs Authelia: ¿qué SSO autoalojado elegir para su VPS?

Desplegar en un VPS Cloud →

Comparativa

Authentik vs Authelia: ¿qué SSO autoalojado elegir para su VPS?

Comparativas9 min de lectura10 pasos

Authentik y Authelia aparecen uno al lado del otro en casi todos los debates sobre SSO autoalojado — pero no responden a la misma pregunta. Authentik es un proveedor de identidad completo: OIDC, SAML, LDAP, aprovisionamiento, flujos visuales. Authelia es una pasarela de autenticación ligera que se conecta a su reverse proxy y controla el acceso a sus aplicaciones. Elegir uno sobre el otro porque es «más popular» es el error más frecuente en este tema.

Contenido· Dos filosofías, no dos competidores directos1/12
  1. 01Dos filosofías, no dos competidores directos
  2. 02Tabla comparativa Authentik vs Authelia
  3. 03Protocolos: el criterio que resuelve el 80% de los casos
  4. 04Elija Authelia si
  5. 05Elija Authentik si
  6. 06Huella de recursos: la diferencia es un orden de magnitud
  7. 07Requisitos previos para desplegar ambas herramientas
  8. 08Desplegar Authelia con Docker Compose
  9. 09Desplegar Authentik con Docker Compose
  10. 10Usar ambas herramientas en paralelo
  11. 11Seguridad y superficie de ataque
  12. 12Qué VPS para cada herramienta

Dos filosofías, no dos competidores directos

Authentik (versión 2026.8.2 en el momento de escribir este artículo) está escrito en Python/Django con un frontend TypeScript. Se instala en su VPS y actúa como un proveedor de identidad completo: sus aplicaciones delegan su autenticación a Authentik vía OIDC o SAML, que gestiona sesiones, grupos, aprovisionamiento y ciclo de vida de cuentas. El modelo es el de Okta o Auth0, de código abierto y en su infraestructura.

Authelia (v4.39.24 en el momento de escribir este artículo) es una capa de autenticación que se interpone delante de su reverse proxy — Traefik, nginx o Caddy — mediante la directiva auth_request. Valida cada solicitud HTTP: si el usuario no está autenticado o no tiene el nivel de MFA correcto, Authelia devuelve un 401 y el reverse proxy bloquea. Authelia no emite tokens OAuth2 para las aplicaciones, protege URLs.

Estas dos herramientas coexisten frecuentemente en la misma infraestructura: Authelia para paneles internos y herramientas sin soporte OIDC nativo, Authentik para aplicaciones que hablan OAuth2 o para el aprovisionamiento LDAP de un Active Directory propio.

Tabla comparativa Authentik vs Authelia

Desplace la tabla

CriterioAuthentik 2026.8Authelia v4.39
TipoProveedor de identidad (IdP)Pasarela de autenticación
OIDC / OAuth2Sí — OpenID Certified™Sí — OpenID Certified™
SAML 2.0 (IdP)SíNo (hoja de ruta, sin fecha)
LDAPSí (provider + outpost)No
Aprovisionamiento SCIMSí (Enterprise)No
Flujos de autenticación visualesSíNo
RAM mínima (stack completo)~1 GB (worker + PostgreSQL)< 30 MB
Base de datos requeridaPostgreSQL (Redis eliminado en 2025.10)Redis + PostgreSQL (o SQLite)
Interfaz de administraciónCompleta (UI web)Archivo de configuración YAML
LicenciaMIT (Community) / EnterpriseApache 2.0
Lenguaje del servidorPython + Rust (desde 2026.8)Go

Protocolos: el criterio que resuelve el 80% de los casos

El soporte SAML es el punto de inflexión más habitual. Si una aplicación de su stack — una suite ofimática, un ERP, una herramienta de RRHH — solo acepta SAML 2.0 como mecanismo de federación, no tiene elección: Authelia no puede actuar como IdP SAML. El soporte SAML está en la hoja de ruta de Authelia, en la sección «planning» (aún no «active»), sin fecha publicada.

Para OIDC/OAuth2, ambas herramientas son ahora OpenID Certified™. Authelia obtuvo esta certificación, validando la implementación en los perfiles Basic OP, Implicit OP, Hybrid OP, Form Post OP y Config OP. Authentik también está certificado desde la versión 2026.8, con soporte adicional para perfiles de cierre de sesión (RP-Initiated, Front-Channel, Back-Channel).

Para un stack de aplicaciones web modernas que hablan OIDC — Nextcloud, Gitea, Grafana, Mattermost, Jellyfin — Authelia es suficiente y considerablemente más ligero. En cuanto una aplicación requiera SAML, aprovisionamiento automático de cuentas o gestión detallada de entitlements, Authentik es el único de los dos que puede responder.

Elija Authelia si

  • Protege servicios internos sin soporte OIDC nativo (paneles, herramientas DevOps) a través de su reverse proxy
  • Su VPS tiene menos de 2 GB de RAM o ejecuta varios servicios en paralelo
  • Prefiere una configuración declarativa en YAML, versionada en Git, sin interfaz web
  • Su stack es exclusivamente OIDC/OAuth2 (sin SAML, sin LDAP)
  • Quiere una superficie de ataque mínima: el binario Go pesa menos de 20 MB

Elija Authentik si

  • Al menos una aplicación requiere SAML 2.0 — Authentik es el único de los dos que lo implementa
  • Gestiona cuentas de usuario: ciclo de vida, aprovisionamiento SCIM, sincronización LDAP
  • Necesita flujos de autenticación personalizados (onboarding, verificación de correo, recuperación de cuenta)
  • Su equipo técnico prefiere una interfaz gráfica a un archivo de configuración
  • Centraliza la identidad para varios equipos o varios productos

Huella de recursos: la diferencia es un orden de magnitud

Authelia se mantiene por debajo de 30 MB de RAM en condiciones normales. Su contenedor Docker pesa menos de 20 MB. Para una instalación completa con Redis y PostgreSQL, cuente 150 a 200 MB en total — la huella de un servicio entre otros en un VPS compartido.

Authentik está en otra categoría. El stack completo — worker Python, servidor Rust (desde 2026.8, el frontal fue reescrito de Go a Rust) y PostgreSQL — requiere al menos 1 GB de RAM utilizable, y más bien 2 GB en un servidor dedicado a Authentik si cuenta con varios cientos de usuarios. El proyecto simplificó el stack en 2025.10 eliminando Redis: todas las operaciones de caché, las tareas en segundo plano y las conexiones WebSocket pasan ahora por PostgreSQL.

En un VPS de 2 GB de RAM que ya ejecuta Gitea, Grafana y un reverse proxy, Authentik consumirá la mitad de los recursos disponibles. Authelia, en el mismo contexto, será prácticamente imperceptible.

Requisitos previos para desplegar ambas herramientas

Para Authelia: un VPS de 1 GB de RAM es suficiente, un reverse proxy ya instalado (Traefik, nginx o Caddy), un dominio apuntando a su servidor, Docker y Docker Compose instalados. Authelia necesita almacenamiento de sesiones — SQLite para pruebas, PostgreSQL o MySQL en producción.

Para Authentik: prevea un VPS con al menos 2 GB de RAM dedicados a Authentik, idealmente 4 GB si otros servicios se ejecutan en paralelo. PostgreSQL es obligatorio (Redis eliminado desde 2025.10). Necesita Docker, Docker Compose, un dominio y los puertos 80 y 443 abiertos.

Desplegar Authelia con Docker Compose

  1. Crear la estructura de directorios

    Cree un directorio de trabajo y los subdirectorios necesarios:

    mkdir -p /opt/authelia/{config,data}
    cd /opt/authelia
  2. Crear el archivo de configuración

    Authelia se configura en YAML. Cree /opt/authelia/config/configuration.yml con los bloques server, log, authentication_backend, access_control, session, storage y notifier. Defina el domain raíz (auth.yourdomain.com), la duración de sesión y el backend de almacenamiento.

  3. Crear el docker-compose.yml

    services:
      authelia:
        image: authelia/authelia:latest
        container_name: authelia
        volumes:
          - ./config:/config
          - ./data:/data
        ports:
          - "9091:9091"
        restart: unless-stopped
        environment:
          - TZ=Europe/Paris
  4. Configurar el reverse proxy

    En nginx, añada un bloque location que delega la validación a Authelia mediante auth_request. Cada solicitud a sus servicios internos pasa primero por http://authelia:9091/api/verify — Authelia responde 200 si el usuario está autenticado, 401 en caso contrario. Traefik dispone de un middleware ForwardAuth equivalente.

  5. Iniciar y verificar

    docker compose up -d
    docker compose logs -f authelia

    Abra https://auth.yourdomain.com. Authelia muestra su portal de inicio de sesión. Cree un primer usuario en el archivo users_database.yml y pruebe el acceso a un servicio protegido.

Desplegar Authentik con Docker Compose

  1. Obtener el compose oficial

    mkdir -p /opt/authentik && cd /opt/authentik
    curl -O https://goauthentik.io/docker-compose.yml

    Este archivo define el worker, el servidor y PostgreSQL. Desde la versión 2025.10, Redis ya no está en el compose por defecto.

  2. Crear el archivo .env

    Genere los secretos necesarios:

    echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env
    echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env
    echo "AUTHENTIK_ERROR_REPORTING__ENABLED=false" >> .env
  3. Iniciar el stack

    docker compose pull
    docker compose up -d

    El primer arranque aplica las migraciones de PostgreSQL y puede tardar uno o dos minutos. Siga los logs con docker compose logs -f worker.

  4. Acceder a la interfaz de administración

    Abra http://<ip-vps>:9000/if/flow/initial-setup/ para crear la cuenta de administrador inicial. Luego apunte su dominio (sso.yourdomain.com) al servidor y configure el reverse proxy para terminar TLS.

  5. Crear su primera aplicación OIDC

    En la interfaz de administración, vaya a Aplicaciones → Crear y luego Proveedores → OAuth2/OpenID. Introduzca la URL de redirección de su aplicación cliente, copie el Client ID y Client Secret generados, y configure su aplicación con los endpoints OIDC de Authentik.

Usar ambas herramientas en paralelo

La combinación más habitual en un VPS bien cargado: Authelia protege las herramientas internas sin soporte OIDC (Grafana legacy, Portainer, paneles propios) a través del reverse proxy, y Authentik actúa como IdP OIDC para las aplicaciones que delegan su autenticación. Ambas pueden coexistir en el mismo servidor y compartir el mismo PostgreSQL si las bases de datos están aisladas. Authelia puede incluso configurarse para delegar la autenticación a Authentik vía OIDC — así obtiene la ligereza de Authelia como pasarela y la riqueza de Authentik como fuente de identidad.

Seguridad y superficie de ataque

La superficie de ataque de Authelia es estructuralmente más pequeña: menos código, sin interfaz de administración expuesta (la configuración es un archivo local), sin soporte SAML, sin LDAP. El historial CVE de Authelia es en consecuencia más reducido que el de Authentik.

Authentik expone más: una interfaz web completa, un motor de flujos, varios protocolos de autenticación, una API REST y outposts. Cada superficie adicional es una superficie que mantener y supervisar. La política de soporte de Authentik cubre la versión actual y la anterior.

En ambos casos, las buenas prácticas son las mismas: no exponer el puerto de administración directamente en internet, usar un certificado TLS válido en el subdominio de autenticación, habilitar MFA para todas las cuentas de administración, y mantener las imágenes Docker actualizadas.

Qué VPS para cada herramienta

Para Authelia sola: un VPS de 1 a 2 GB de RAM es más que suficiente, incluso ejecutando varios otros servicios en paralelo. Authelia no justifica un servidor dedicado.

Para Authentik: el mínimo razonable en producción es 2 GB de RAM dedicados al stack Authentik (worker + PostgreSQL). Si Authentik comparte el VPS con otras aplicaciones, prevea 4 GB mínimo.

Un VPS ServOrbit con 2 vCPU y 4 GB de RAM cubre cómodamente Authentik en producción, con margen para las aplicaciones que protege. La plantilla Marketplace Authentik en Dolibarr, n8n, Nextcloud, Open WebUI, WooCommerce, WordPress configura el stack Docker con PostgreSQL, las variables de entorno y el reverse proxy nginx en un único comando.

Despliegue su SSO autoalojado en un VPS dedicado

Un VPS ServOrbit con acceso root, IPv4 dedicada y Docker preconfigurado le da la base para ejecutar Authentik o Authelia en producción. Elija los recursos adecuados para su stack y escale verticalmente a demanda.

¿Necesita ayuda?

Consulte nuestro centro de ayuda y nuestra FAQ, o contacte con nuestro equipo: llamada, WhatsApp o correo electrónico. Soporte en francés, inglés y árabe.

Escribir por WhatsAppse abre en una pestaña nueva