Si gestionas un servidor Emby para familiares y amigos, ya conoces la rutina: alguien pide acceso, abres el panel, inventas un nombre de usuario, pones una contraseña, eliges bibliotecas, revisas los ajustes parentales y la semana siguiente repites. No escala, y cada cuenta hecha a mano es una ocasión de olvidar una política o dar demasiados permisos.
Registration es un plugin de Emby que pone un formulario público de registro en tu propia dirección de Emby. Cada persona crea su cuenta con un código de acceso que le das, y tú mantienes el control mediante la aprobación, los códigos familiares, la protección antibots y un usuario plantilla que define lo que puede ver una cuenta nueva. Este tutorial recorre una configuración práctica: códigos, aprobación, plantillas y lo básico del antibots.
Una nota rápida antes de empezar: esto es para medios legales, autoalojados, que posees o tienes licencia para usar. Invita a gente de confianza y mantén claras las normas del servidor.
Requisitos previos
- Emby Server 4.10.1 o superior.
- Tu servidor Emby debe ser accesible para las personas que vayan a registrarse, ya sea directamente o a través de un proxy inverso.
- Una cuenta de MediaLab Works con una licencia para este servidor (mensual, anual, de por vida o incluida en el paquete de Emby). Hay una prueba gratuita de 30 días si quieres probar antes. Una licencia por servidor Emby.
- Acceso al panel de Emby. La página de administración del plugin se abre desde un navegador, porque la app de Emby bloquea las páginas de plugins.
Paso 1 — Instala el plugin y activa la licencia
- Inicia sesión en tu cuenta de MediaLab Works, abre Licenses y descarga el DLL del plugin. La descarga está disponible con una suscripción activa, una licencia de por vida dentro de su ventana de actualizaciones o durante la prueba.
- Copia el DLL en la carpeta de plugins de Emby y reinicia Emby Server:
- Linux (paquete):
/var/lib/emby/plugins/ - Docker: la carpeta
pluginsdentro de tu volumen de configuración de Emby - Windows:
%AppData%\Emby-Server\programdata\plugins\
- Linux (paquete):
- Abre Emby Dashboard → Plugins, haz clic en el plugin, pega tu clave de licencia y guarda. El plugin contacta con el servidor de licencias, vincula la clave a este servidor Emby y muestra la licencia como Active.
La licencia se comprueba una vez al día y en cada arranque de Emby. Sin internet, el plugin sigue funcionando 7 días después de la última comprobación correcta. Sin una licencia válida, el plugin se detiene: las tareas automáticas no se ejecutan y el formulario público de registro muestra "unavailable", pero las cuentas, los códigos y los ajustes existentes no se tocan.
Paso 2 — Configura lo básico
Abre Dashboard → Plugins → Registration. La página de configuración tiene una lista corta de ajustes:
| Ajuste | Qué hace |
|---|---|
| Template user | Las cuentas nuevas copian bibliotecas y políticas de este usuario. |
| Approval required | Las cuentas quedan desactivadas hasta que las apruebes en la página del plugin. |
| Access codes | Crea códigos: usos restantes, caducidad, código familiar (opcional). |
| Anti-bot | Activado por defecto; también limita los intentos por IP. |
| Public URL | La dirección donde se sirve el formulario, por ejemplo https://emby.example.com/registration. |
Configura primero la Public URL. Es la dirección que abrirá la gente, así que tiene que coincidir con lo que sirve realmente tu proxy inverso. Si estás detrás de un proxy, asegúrate de que la ruta de registro esté permitida ahí: un formulario que no es accesible casi siempre es una regla del proxy, no el plugin.
Paso 3 — Crea un usuario plantilla
Este es el paso que más trabajo te ahorra después. Un usuario plantilla es una cuenta normal de Emby cuyas bibliotecas, ajustes parentales y políticas se copian a cada cuenta nueva creada a través del formulario de registro.
Crea en Emby una cuenta que represente a "un usuario nuevo en este servidor": las bibliotecas que debería ver, los ajustes parentales que quieres como predeterminados y nada más que eso. Después selecciónala como Template user en los ajustes del plugin.
Como la copia ocurre al crear la cuenta, cambiar la plantilla más adelante no reescribe las cuentas existentes: solo afecta a las nuevas. Tenlo en cuenta si cambia la estructura de tus bibliotecas.
Paso 4 — Decide entre el modo de aprobación y las cuentas inmediatas
Approval required mantiene cada cuenta nueva desactivada hasta que la apruebes en la página del plugin. La persona puede rellenar el formulario, pero nadie entra hasta que tú digas que sí. Para un servidor abierto a un círculo más amplio, esta es la opción más segura por defecto: ves la solicitud y decides.
Con la aprobación desactivada, la cuenta se crea y se puede usar de inmediato. Es cómodo para un grupo pequeño de gente que ya conoces, pero deja en manos del código de acceso quién entra.
En ambos casos, la cuenta se crea desactivada en el momento de la solicitud y la contraseña la gestiona Emby; el plugin no almacena contraseñas.
Paso 5 — Reparte códigos de acceso
Los códigos de acceso son la puerta. En los ajustes del plugin creas códigos con:
- Uses left — un código de un solo uso para una persona, o un código de varios usos para un grupo.
- Expiry — el código deja de funcionar a partir de ese momento.
- Family code (opcional) — agrupa cuentas relacionadas para que puedas verlas y gestionarlas juntas.
Un patrón práctico: un código de un solo uso por persona para invitaciones individuales, y un código familiar para un hogar, de modo que las cuentas queden vinculadas en tu vista general. Si un código se rechaza, revisa primero los usos restantes y la caducidad en la página del plugin: son las dos causas habituales.
Cuando el código exista, envía el enlace de registro junto con el código. La persona elige un nombre de usuario y una contraseña en el formulario público, personalizado con el nombre de tu servidor.
Paso 6 — Mantén fuera a los bots
El desafío antibots está activado por defecto, y el plugin también limita los intentos por IP. Déjalo activado. Si quieres el desafío más fuerte, puedes introducir tus propias claves de Cloudflare Turnstile; esa opción está desactivada por defecto y solo se activa cuando proporcionas claves. Cuando está activada, el navegador del visitante carga el widget de Turnstile y tu servidor verifica la respuesta enviando la clave secreta, el token y la dirección IP del visitante a challenges.cloudflare.com.
Un detalle de privacidad que conviene conocer: al enviar el formulario, el plugin comprueba la contraseña contra Have I Been Pwned – Pwned Passwords enviando solo los 5 primeros caracteres del hash SHA-1 de la contraseña (k-anonymity, con padding). La contraseña y el hash completo nunca salen de tu servidor. Puedes desactivarlo, y si el servicio no está disponible, el registro continúa.
Paso 7 — Pon el enlace delante de la gente
El formulario público de registro funciona en cualquier navegador, en escritorio y en móvil. En la pantalla de inicio de sesión, el botón "Create account" es solo para Emby Web: el plugin añade un script a dashboard-ui/index.html y se vuelve a aplicar tras las actualizaciones de Emby. Las apps nativas de Emby (Android, iOS, Android TV, Samsung, LG, Roku, Apple TV) no pueden mostrar ese botón, así que envía el enlace directamente a esas personas.
Para las televisiones, la página detecta los navegadores de TV y muestra un código QR para el móvil. Los códigos QR se generan en el servidor.
Uso diario
- Crea un código de acceso y envía el enlace de registro junto con el código.
- La persona elige un nombre de usuario y una contraseña; con la aprobación activada, confirmas la cuenta en la página del plugin.
- Los códigos familiares te permiten ver y gestionar juntas las cuentas relacionadas.
Consejos y solución de problemas
- No se accede al formulario. Asegúrate de que tu proxy inverso permite la ruta y de que la Public URL coincide con ella.
- Se rechaza un código. Revisa los usos restantes y la caducidad en la página del plugin.
- Ha desaparecido el botón de la pantalla de inicio de sesión. Se vuelve a aplicar tras las actualizaciones de Emby; si no se puede restaurar, el log solo se envía si el envío automático de logs está activado.
- Correo electrónico. No se envía nada hasta que configures SMTP. Después, quienes solicitan el registro reciben una confirmación y la decisión (aprobado o rechazado), además del mensaje de acceso que redactes, que puede contener una contraseña generada. Las notificaciones de administración están desactivadas por defecto. STARTTLS es el valor predeterminado.
- Notificaciones de Telegram: son opcionales y están desactivadas por defecto. Si se activan, los mensajes de administración incluyen los datos de la solicitud (nombre, nombre de usuario, correo electrónico, teléfono, IP, país de Cloudflare).
- Datos en disco. Las solicitudes se guardan en
data/registrations.json(modo 600). Las solicitudes rechazadas, caducadas o eliminadas se purgan a los 30 días; las solicitudes pendientes caducan a los 7 días y la cuenta desactivada se elimina. Cuando se elimina un usuario, sus datos personales en el plugin se borran de inmediato. Los datos no se eliminan al desinstalar, salvo que marques esa opción. - Secretos. La contraseña de SMTP, el token de Telegram, el secreto de Turnstile y la clave HMAC del formulario se cifran en reposo en
secrets.enc.json(AES-256-GCM) y nunca se envían al navegador.
Conclusión
Un formulario público de registro con códigos de acceso convierte una tarea recurrente de administración en una configuración única: un usuario plantilla define los valores predeterminados, el modo de aprobación te mantiene al tanto, y los códigos junto con el desafío antibots deciden quién puede preguntar. Si quieres ir más allá, el plugin también funciona con el plugin Cashier para planes de pago y con Quick Connect para el inicio de sesión desde el móvil.
La referencia completa está en la guía de usuario, y puedes encontrar el plugin en la página del producto Registration. Hay más material sobre autoalojamiento en nuestra base de conocimiento y en las preguntas frecuentes; si algo no encaja con tu configuración, contacta con nosotros.