Description

Features Invite-code registration — generate single-use or multi-use codes with optional expiration User login — existing users can log in to authorize new devices Quick Connect authorization — enter a 6-digit code from your TV or app to pair it, no existing client needed Admin panel — manage invites, view registered users, configure server settings Configurable branding — server name and Jellyfin URLs editable via the admin UI Quick Start

  1. Create a .env file cp .env.example .env Edit .env with your values:

Variable Required Description JELLYFIN_API_KEY Yes Jellyfin API key (from Dashboard → API Keys) JELLYFIN_URL Yes Internal URL to Jellyfin (e.g. http://localhost:8096) ADMIN_PASSWORD_HASH Yes SHA-256 hash of your admin password SERVER_NAME No Display name (default: Jellyfin) JELLYFIN_PUBLIC_URL No Public URL shown to users after registration DEFAULT_LIBRARIES No Comma-separated library names to grant access (empty = all) Generate the admin password hash:

python3 -c "import hashlib; print(hashlib.sha256(b'your_password').hexdigest())" 2. Run with Docker docker compose up -d --build The app will be available at http://localhost:5050.

  1. Configure (optional) Log in at /admin with your admin password. Use the Settings card to set:

Server Name — what your Jellyfin instance is called (shown on the Join page) Jellyfin Internal URL — the URL the backend uses to reach Jellyfin Jellyfin Public URL — the link users see after registering (e.g. your Tailscale or public domain) How It Works Registration Flow Admin generates an invite code from the admin panel Share the JellyReg URL + invite code with the person They enter a username, password, and the invite code JellyReg creates the Jellyfin user, enables libraries, and authenticates as them The success page shows a link to open Jellyfin and a Connect a device section Quick Connect Flow After registration (or login), users can pair a TV or phone app:

TV/app shows a 6-digit Quick Connect code User enters the code on the JellyReg success page JellyReg authorizes the code via the Jellyfin API using the user's session The device connects automatically — no existing logged-in client needed API Endpoints Endpoint Method Auth Purpose /api/register POST none Create Jellyfin user (invite code required) /api/login POST none Authenticate existing Jellyfin user /api/qc/authorize POST session Authorize a Quick Connect code /api/admin/invite POST admin Generate invite code /api/admin/invite/<code> DELETE admin Delete invite code /api/admin/settings GET admin Read settings /api/admin/settings POST admin Update settings /api/admin/health GET none Jellyfin connectivity check

Share this plugin

Embed Badge

Add this badge to your README to link back to your hub page:

Listed on JellyWatch Hub

Comments (0)

No comments yet. Be the first to share your thoughts!

Details

JellyReg

jellyfinby chiappone 8
GitHub Stars 5
Approved
Submitted

Similar Plugins

SSO Plugin

243

Allows users to sign in through OAuth2/OIDC providers like Google, Authelia, and Authentik.

LDAP Authentication

228

Allows using LDAP as an authentication provider for centralized user management.

TeleJelly

124

Allows Jellyfin users to sign in through the Telegram Login Widget.

HttpAuth Plugin

56

Users can authentificate with Http Headers (only when used in reverse proxy)