Pocket ID Docker Compose es la forma más sencilla de montar tu propio proveedor de identidad OIDC centrado en passkeys, sin contraseñas y sin la complejidad de las suites empresariales. Con esta solución ligera inicias sesión en todas tus aplicaciones self-hosted usando la huella, el rostro o la llave de seguridad de tu dispositivo. En esta guía lo desplegarás con Docker, lo publicarás con HTTPS y lo conectarás como proveedor de inicio de sesión único.
En este artículo aprenderás a:
- Desplegar Pocket ID Docker Compose en minutos.
- Entender las passkeys y por qué superan a las contraseñas.
- Publicarlo con HTTPS, requisito imprescindible para WebAuthn.
- Usarlo como proveedor OIDC para tus aplicaciones.
¿Qué es Pocket ID y por qué usar Docker Compose?
Pocket ID Docker Compose despliega un proveedor de identidad OpenID Connect (OIDC) minimalista cuya seña de identidad es que solo usa passkeys. En lugar de gestionar contraseñas, correos de recuperación y segundos factores, delegas la autenticación en el estándar WebAuthn, que ya llevan de serie móviles, portátiles y llaves físicas. El resultado es un inicio de sesión más seguro y, a la vez, más cómodo para el usuario.
Frente a alternativas más pesadas, Pocket ID destaca por su enfoque directo. Estas son sus principales ventajas:
- Ligereza: un único contenedor con base de datos embebida; arranca en segundos y consume muy poco.
- Sin contraseñas: elimina de raíz el phishing de credenciales y la reutilización de claves.
- Estándar OIDC: se integra con cualquier aplicación que soporte OpenID Connect.
- Autohospedado: tus identidades viven en tu servidor, sin depender de un proveedor externo.
Si ya has trabajado con soluciones de inicio de sesión único más completas, como las que vimos en nuestras guías de Authentik para SSO y OAuth o Authelia con 2FA, Pocket ID Docker Compose es la opción minimalista cuando solo necesitas passkeys y OIDC sin más complejidad.
Passkeys: autenticación sin contraseñas
Antes de desplegar conviene entender qué son las passkeys, porque son el corazón de Pocket ID. Una passkey es un par de claves criptográficas: la privada nunca sale de tu dispositivo y la pública se guarda en el servidor. Al iniciar sesión, tu dispositivo firma un reto con la clave privada, desbloqueándola con tu biometría o tu PIN local.
Esto tiene consecuencias enormes para la seguridad. No hay ninguna contraseña que robar, adivinar o filtrar en una brecha, y el phishing deja de funcionar porque la passkey está ligada al dominio real de tu servicio. Por eso el sector avanza con firmeza hacia este modelo, y montar Pocket ID Docker Compose te sitúa en la vanguardia de esa transición en tu propio homelab.
Requisitos previos para Pocket ID Docker Compose
El despliegue de Pocket ID Docker Compose es ligero, pero tiene un requisito no negociable: HTTPS. La API WebAuthn solo funciona en un contexto seguro, así que necesitarás un dominio y un proxy inverso. Comprueba que tienes lo siguiente:
- Un servidor Linux con Docker Engine y Docker Compose v2.
- Un dominio o subdominio apuntando a tu servidor (por ejemplo,
id.tudominio.com). - Un proxy inverso con HTTPS, imprescindible para las passkeys.
- Un dispositivo compatible con passkeys (móvil moderno, portátil con biometría o llave FIDO2).
Para la parte de HTTPS te vendrá de perlas nuestra guía de Caddy con HTTPS automático, que usaremos más adelante para publicar el servicio de forma segura.
Instalar Pocket ID Docker Compose paso a paso
Creamos el directorio del proyecto y generamos una clave de cifrado, que Pocket ID usa para proteger los datos sensibles en reposo. Este paso es importante: guarda bien esa clave.
mkdir -p ~/docker/pocket-id/data && cd ~/docker/pocket-id
openssl rand -base64 32 > data/encryption.key
Con la clave generada, crea el fichero docker-compose.yml. Fíjate en la variable APP_URL: debe coincidir exactamente con la URL pública final, porque las passkeys se vinculan a ese dominio.
services:
pocket-id:
image: ghcr.io/pocket-id/pocket-id:v2
container_name: pocket-id
restart: unless-stopped
environment:
APP_URL: https://id.tudominio.com
TRUST_PROXY: "true"
ENCRYPTION_KEY_FILE: /app/data/encryption.key
volumes:
- ./data:/app/data
ports:
- "1411:1411"
La opción TRUST_PROXY es necesaria porque serviremos la aplicación detrás de un proxy inverso. Levanta el contenedor y comprueba que arranca correctamente revisando los logs.
docker compose up -d
docker compose logs -f pocket-id
El contenedor escucha en el puerto 1411. Todavía no intentes acceder por IP: como las passkeys exigen HTTPS, el siguiente paso es publicarlo con un dominio seguro. Sin ese contexto, el registro de passkeys fallará.
Publicar Pocket ID Docker Compose con HTTPS
Este paso no es opcional en Pocket ID Docker Compose: sin HTTPS, WebAuthn no arranca. Si usas Caddy, la configuración es mínima. Añade este bloque a tu Caddyfile apuntando al puerto que publicamos.
id.tudominio.com {
reverse_proxy localhost:1411
}
Caddy obtendrá y renovará automáticamente el certificado TLS de Let’s Encrypt. Tras recargar el proxy, tu instancia quedará accesible en https://id.tudominio.com con cifrado válido, cumpliendo el requisito de contexto seguro. Si prefieres una interfaz gráfica para gestionar dominios, también puedes usar Nginx Proxy Manager.
⚠️ Advertencia de seguridad
Haz copia de seguridad del fichero encryption.key y de la carpeta data: sin la clave no podrás descifrar tus datos. Como este servicio será la puerta de entrada a todas tus aplicaciones, protégelo especialmente y registra siempre una segunda passkey de respaldo.
Configuración inicial: administrador y primera passkey
Con el servicio publicado, es hora de crear tu cuenta de administrador. A diferencia de otras plataformas, aquí no defines una contraseña: registras directamente una passkey. Abre en el navegador la URL de configuración inicial.
https://id.tudominio.com/setup
El asistente te pedirá crear el usuario administrador y registrar tu primera passkey. Tu navegador o sistema operativo abrirá el diálogo nativo para usar la biometría o una llave de seguridad. En cuestión de segundos tendrás una cuenta lista, sin ninguna contraseña de por medio.
Desde el panel de administración podrás gestionar usuarios, grupos y las aplicaciones cliente que confiarán en tu proveedor. Un consejo importante: registra al menos dos passkeys (por ejemplo, la de tu móvil y la de tu portátil) para no quedarte fuera si pierdes un dispositivo.
Integrar Pocket ID Docker Compose como proveedor OIDC
La verdadera utilidad de Pocket ID Docker Compose llega cuando lo conectas a tus aplicaciones. Al ser un proveedor OIDC estándar, cualquier servicio compatible con OpenID Connect puede delegar su inicio de sesión en él. El flujo general es siempre el mismo:
- En el panel de Pocket ID, crea un nuevo cliente OIDC y define la URL de retorno (callback) de tu aplicación.
- Copia el Client ID y el Client Secret que genera.
- En tu aplicación, configura el proveedor OIDC con esos datos y la URL de descubrimiento
https://id.tudominio.com/.well-known/openid-configuration. - Guarda y prueba el inicio de sesión: la aplicación te redirigirá a Pocket ID para autenticarte con tu passkey.
Para las aplicaciones que no hablan OIDC de forma nativa, puedes anteponer un proxy de autenticación que sí lo haga, extendiendo así las passkeys a prácticamente cualquier servicio de tu servidor. Con esto centralizas el acceso a todo tu ecosistema en un único punto seguro.
Casos de uso de Pocket ID Docker Compose
Para ver el valor real de esta solución, pensemos en un homelab típico con una docena de servicios: un gestor de fotos, un panel de monitorización, una wiki, un lector de feeds y varias herramientas más. Sin un proveedor de identidad, cada uno tiene su propio usuario y contraseña, lo que multiplica el riesgo y el mantenimiento. Con Pocket ID Docker Compose centralizas todo ese acceso en un único punto protegido por passkeys.
- Inicio de sesión único (SSO): una sola autenticación para acceder a todas tus aplicaciones compatibles.
- Acceso familiar o de equipo: creas usuarios y grupos, cada uno con su passkey, sin compartir contraseñas.
- Reducción de superficie de ataque: al no haber contraseñas, desaparecen el phishing y el relleno de credenciales.
- Alta comodidad: entrar es tan simple como usar la huella del móvil, sin recordar nada.
Este enfoque, que hace unos años era exclusivo de grandes empresas, hoy está al alcance de cualquiera gracias a lo sencillo que resulta desplegar Pocket ID Docker Compose. Es un salto de calidad tanto en seguridad como en experiencia de uso para todo tu servidor.
Pocket ID frente a otras soluciones de identidad
Existen proveedores de identidad muy potentes como Authentik, Keycloak o Authelia, capaces de cubrir escenarios empresariales complejos con múltiples protocolos, políticas y factores. Sin embargo, esa potencia viene acompañada de una curva de aprendizaje y un consumo de recursos considerables, que a menudo resultan excesivos para un homelab o un proyecto pequeño.
Ahí es donde Pocket ID marca la diferencia. Su filosofía es hacer una sola cosa y hacerla bien: autenticación OIDC basada exclusivamente en passkeys, con una configuración mínima. Si necesitas LDAP, SAML, flujos de autorización elaborados o integración con directorios corporativos, una suite completa seguirá siendo la mejor opción. Pero si buscas seguridad moderna sin contraseñas y una puesta en marcha en minutos, Pocket ID Docker Compose es difícil de superar por su equilibrio entre sencillez y protección.
Mantenimiento y solución de problemas
- El registro de passkey falla: casi siempre es porque no accedes por HTTPS o la
APP_URLno coincide con el dominio real. - Copias de seguridad: respalda la carpeta
datacompleta, incluida la clave de cifrado. - Actualizar: cambia la etiqueta de la imagen, ejecuta
docker compose pullydocker compose up -d. - Detrás de proxy: si los enlaces salen con IP interna, revisa
TRUST_PROXYy las cabeceras del proxy.
Si algo no cuadra, los logs con docker compose logs pocket-id suelen señalar el problema con claridad. Para descubrir más servicios que proteger con tu nuevo proveedor de identidad, explora nuestra categoría de tutoriales de Docker Compose.
Conclusión
Montar Pocket ID Docker Compose te da un proveedor de identidad moderno, seguro y sorprendentemente sencillo: sin contraseñas, con passkeys y compatible con el estándar OIDC. Hemos cubierto la instalación, la publicación obligatoria con HTTPS, el registro de tu primera passkey y la integración con tus aplicaciones. A partir de aquí, ve conectando servicios y disfruta de un inicio de sesión unificado que deja atrás las contraseñas para siempre.
Como siguientes pasos, te recomendamos empezar integrando una sola aplicación para familiarizarte con el flujo OIDC completo, desde la creación del cliente hasta la primera redirección. Una vez que veas funcionar el inicio de sesión con tu passkey de principio a fin, ganarás confianza para conectar el resto de tus servicios de forma progresiva. No olvides documentar los clientes que vas creando y automatizar las copias de seguridad de la carpeta de datos: con esa disciplina mínima, tu proveedor de identidad se mantendrá fiable durante años. Adoptar passkeys hoy es, además, prepararte para un futuro en el que las contraseñas serán la excepción y no la norma en toda la industria, tanto en el ámbito personal como en el corporativo.
Preguntas frecuentes sobre Pocket ID Docker Compose
¿Puedo usar Pocket ID sin HTTPS?
No. Las passkeys se basan en WebAuthn, que exige un contexto seguro. Es obligatorio servir Pocket ID por HTTPS a través de un proxy inverso; de lo contrario, el registro de passkeys no funcionará.
¿Qué pasa si pierdo mi dispositivo con la passkey?
Por eso conviene registrar varias passkeys en dispositivos distintos. Si tienes una segunda passkey, sigues teniendo acceso; como administrador, también puedes gestionar las credenciales de los usuarios desde el panel.
¿Con qué aplicaciones se integra?
Con cualquiera que soporte OpenID Connect. Para el resto, puedes usar un proxy de autenticación que traduzca OIDC, extendiendo las passkeys a casi todo tu ecosistema self-hosted.
¿Es gratis?
Sí, Pocket ID es un proyecto de código abierto y gratuito. Solo asumes el coste del servidor donde lo alojes, que es mínimo por lo ligero que resulta.
Fuentes y recursos oficiales
- Sitio oficial de Pocket ID
- Documentación oficial de Pocket ID
- Pocket ID en GitHub
- Guía de WebAuthn
- Documentación de Docker Compose
