Ya hablamos por separado de Authentik como proveedor de identidad y de Infisical como gestor de secretos. Cada uno resuelve un problema real, pero juntos resuelven el mismo problema desde dos ángulos que se complementan: Authentik centraliza quién puede entrar a cada cosa, Infisical centraliza qué credenciales usa cada cosa por debajo. Este stack los despliega juntos, con Authentik protegiendo el acceso al propio panel de Infisical como primer caso de uso real.
Autenticación única y secretos centralizados para todo el homelab
Objetivo
Dejar de tener una contraseña distinta por cada servicio del homelab (Nextcloud, Komodo, BookStack, Kanboard...) y de repartir claves de API sueltas en ficheros .env por servidor — un único login para todo, y un único sitio donde viven las credenciales.
Componentes
Proveedor de identidad (SSO)
Base de datos
PostgreSQL (para Authentik)
Caché / colas
Redis (para Authentik)
Gestor de secretos
Proxy inverso, HTTPS automático
Cómo se conecta

Haz clic para ampliar
Ensamblaje
Despliega Authentik con Docker Compose
Authentik necesita PostgreSQL y Redis por debajo — usa el fichero docker-compose.yml oficial del proyecto como base, ajustando solo las contraseñas.
mkdir -p ~/authentik && cd ~/authentik wget -O docker-compose.yml https://goauthentik.io/docker-compose.yml
Genera las claves y contraseñas del entorno
Guarda ambos valores en tu propio gestor de contraseñas antes de continuar — los necesitarás si algún día migras o restauras el servicio.
echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> .env echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> .env
Arranca Authentik
docker compose up -d
La primera vez tarda unos minutos en inicializar la base de datos. Comprueba el progreso con:
docker compose logs -f server
Completa el asistente inicial de Authentik
Entra a https://tu-dominio:9443/if/flow/initial-setup/ y crea tu usuario administrador. Este va a ser el login maestro con el que accederás a todo lo que protejas con Authentik a partir de ahora.
Despliega Infisical
cd ~ && git clone https://github.com/Infisical/infisical.git cd infisical cp .env.example .env
Edita .env con una contraseña de base de datos propia (distinta de la de Authentik), y arranca:
docker compose -f docker-compose.prod.yml up -d
Protege el acceso a Infisical con Authentik
Aquí es donde los dos componentes se conectan de verdad. En el panel de Authentik, crea un nuevo Proveedor de tipo OAuth2/OIDC, con Infisical como aplicación cliente. Copia el Client ID y el Client Secret que genera Authentik.
En Infisical, ve a la configuración de autenticación SSO y pega esas credenciales, apuntando al endpoint OIDC de tu instancia de Authentik.
# En el .env de Infisical AUTH_SSO_PROVIDER=oidc OIDC_CLIENT_ID=<el que te dio Authentik> OIDC_CLIENT_SECRET=<el que te dio Authentik> OIDC_ISSUER=https://tu-dominio-authentik/application/o/infisical/
Reinicia Infisical para aplicar el cambio:
docker compose -f docker-compose.prod.yml restart
Expón ambos servicios con Caddy
Si ya tienes Caddy corriendo como proxy general (como asumimos en los componentes), añade ambos dominios a tu Caddyfile existente.
authentik.tudominio.com { reverse_proxy localhost:9443 } secretos.tudominio.com { reverse_proxy localhost:8080 }sudo systemctl reload caddy
Verifica el flujo completo
Entra a secretos.tudominio.com — deberías ser redirigido automáticamente al login de Authentik, no al login nativo de Infisical. Inicia sesión con tu usuario de Authentik, y confirma que entras directamente a Infisical sin tener que introducir una contraseña distinta para ese servicio.
Conclusión
A partir de aquí, cualquier servicio nuevo que despliegues con soporte OIDC/SAML se puede proteger con el mismo login de Authentik, sin crear una cuenta nueva cada vez — y cualquier clave de API o credencial que ese servicio necesite, la gestionas desde Infisical, no desde un fichero .env suelto en el servidor. Dos problemas distintos, resueltos por dos piezas que ahora trabajan juntas.

