Deploy wizarr

Wizarr - invite manager for Jellyfin, Plex and Emby servers

Deploy wizarr

Just deployed

/data

Wizarr — Media Server Invitation Manager

Self-hosted invitation and user-management system for Jellyfin, Plex, Emby, Audiobookshelf, Kavita, Komga and Romm. Share your media server through expiring invite links, onboarding wizards, and automatic user provisioning — no more manually creating accounts.

Deploy and Host

Host your own Wizarr on Railway. This template provisions the official Wizarr image with a persistent /data volume for the SQLite database — invites, users, and settings survive every redeploy.

Deploy to Railway

Why Deploy

Wizarr is the standard invite gateway for self-hosted media servers (3k+ GitHub stars, actively developed). Running it on Railway gives you:

  • Zero-maintenance hosting — automatic restarts, persistent SQLite storage, no home server required
  • Public invite links — share https://your-app.up.railway.app/j/<code> links that always stay reachable
  • Expiring invitations — auto-disable invites after set durations or use counts
  • Multi-server support — manage invites for Jellyfin, Plex, Emby and more from one dashboard

Common Use Cases

  • Jellyfin onboarding — send friends a link; they create their own account through a guided wizard
  • Plex home sharing — invite Plex users with automatic library access and server selection
  • Emby user management — bulk-create, expire, and track invited users
  • Audiobookshelf/Kavita/Komga/Romm invites — extend the same invite flow to your book and game servers
  • Community sharing — cap total invites, set expiry windows, and monitor usage from the admin dashboard

Deployment Dependencies

The deploy form pre-fills all required variables. No companion services needed — Wizarr uses SQLite on the attached /data volume.

Wizarr connects out to your media server (Jellyfin/Plex/Emby/...), so your media server must be reachable from Railway over the public internet (its own domain or reverse proxy). Railway's inbound proxy handles all inbound traffic automatically.

After the first successful deploy:

  1. Open your Railway public domain — the setup wizard launches
  2. Create the admin account (step 1 of the wizard)
  3. Add your media server: enter its URL + API key (step 2)
  4. Create your first invite and share the /j/<code> link

About Hosting

Wizarr runs as a single container from the official ghcr.io/wizarrrr/wizarr image (v2026.9.1). All state — SQLite database, secrets, sessions — lives on the Railway volume mounted at /data, so deploys and restarts keep every invite and user intact. The in-app scheduler (invite expiry checks, update checks) runs inside the same process; keep it enabled for single-instance deploys. Memory footprint is ~120 MB, comfortably within the Hobby plan.

Features

  • Invite links with wizard onboarding — new users pick a username/password and join through guided steps
  • Expiring & single-use invites — duration-based and use-count-based limits, instant disable
  • Media server integrations — Jellyfin, Plex, Emby, Audiobookshelf, Kavita, Komga, Romm
  • User management — disable, delete, extend expiry, and resend join links
  • Special & bundle invites — multiple servers in one invite, pre/post-wizard steps
  • Plugins — Ombi/Overseerr request syncing, Discord role assignment
  • LDAP support — authenticate users against a directory server
  • REST API + API keys — automate invite creation from other tools
  • Dark/light themes and 30+ languages

Dependencies for

  • No external services required — SQLite database ships with the app on the attached volume
  • Your media server — Jellyfin/Plex/Emby etc. must be reachable from Railway (public URL + admin API key); configured in-app after deploy

Configuration

VariableDescriptionDefault
PORTWeb UI port. Railway maps this to the public domain.5690
TZTimezone for invite expiry and logs (e.g. America/New_York).UTC
PUIDUnix user ID the app runs as.1000
PGIDUnix group ID the app runs as.1000
GUNICORN_WORKERSWorker processes. Keep 1 with SQLite — extra workers duplicate background jobs.1
GUNICORN_THREADSRequest threads per worker.4
GUNICORN_LOG_LEVELLog verbosity: debug, info, warning, error.warning
WIZARR_DISABLE_SCHEDULERDisable in-app scheduled jobs (invite expiry, update checks). Keep false.false

Volumes

MountPurpose
/dataSQLite database (database.db), auto-generated secrets, session cache, wizard state. Do not remove.

Quick Start

After deployment, open your Railway public domain:

  1. Create the admin account on the setup page
  2. Connect a media server — paste your Jellyfin/Plex/Emby URL and API key
  3. Generate an invite — from the dashboard, create a shareable link https://your-app.up.railway.app/j/<code>
  4. Send the link — new users onboard themselves and appear in your Users tab
# Verify the instance is up (returns {"status":"ok"} after admin setup)
curl https://your-app.up.railway.app/health

License

Wizarr is MIT licensed. See the Wizarr GitHub repository for details.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
47
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51