How wizarrrr/wizarr works
Wizarr turns an administrator-created invitation into a guided setup and automatic media-server onboarding flow. Invitees enter through the public invitation routes, complete pre-invite wizard steps, and proceed through invitation workflows that provision accounts through a media-service facade. The product also exposes administration and REST API capabilities, manages expiry and notification behavior, and monitors media activity. The README documents product capabilities; source relationships below are limited to the README and SOURCE INDEX references, so unsampled implementation links are omitted.
Main entry points: service.py Media service facade · workflows.py Invitation workflows · routes.py Public invitations · api_routes.py REST API
Components 22
Invitation flow
- Public invitations
app/blueprints/public/routes.py - Setup wizard
app/blueprints/wizard/routes.py - Invitation workflows
app/services/invitation_flow/workflows.py - Invite code state
app/services/invite_code_manager.py - Invitation management
app/services/invites.py
Media integrations
- Media service facade
app/services/media/service.py - Media client base
app/services/media/client_base.py - Plex integration
app/services/media/plex.py - Other media servers
app/services/media - Request integrations
app/services/ombi_client.py
Administration
- Admin console
app/blueprints/admin/routes.py - Membership expiry
app/services/expiry.py - Notifications
app/services/notifications.py
Activity monitoring
- Activity monitor
app/activity/monitoring/monitor.py - Session lifecycle
app/activity/monitoring/session_manager.py - Activity ingestion
app/services/activity/ingestion.py - Activity API
app/activity/api/blueprint.py
API and state
- REST API
app/blueprints/api/api_routes.py - Application records
app/models.py
Other components
- Invitee
- Media server
- Request system
Connections 24
- Invitee → Public invitations: opens invite
- Public invitations → Setup wizard: guides setup
- Public invitations → Invitation workflows: routes through
app/blueprints/public/routes.py - Public invitations → Media service facade: uses service
app/blueprints/public/routes.py - Invitation workflows → Media service facade: provisions via
app/services/invitation_flow/workflows.py - Invitation workflows → Invitation management: uses invitations
app/services/invitation_flow/workflows.py - Setup wizard → Invite code state: tracks invite code
app/blueprints/wizard/routes.py - Admin console → Invitation management: creates invites
app/blueprints/admin/routes.py - Admin console → Media service facade: uses service
app/blueprints/admin/routes.py - Media service facade → Media client base: dispatches clients
app/services/media/service.py - Media client base → Plex integration: specializes
app/services/media/plex.py - Media service facade → Media server: manages accounts
- Media service facade → Other media servers: supports integrations
app/services/media/service.py - Invitation workflows → Request integrations: integrates requests
app/services/invitation_flow/workflows.py - Request integrations → Request system: calls request system
app/services/ombi_client.py - Invitation workflows → Application records: reads and writes
app/services/invitation_flow/workflows.py - Membership expiry → Media service facade: uses service
app/services/expiry.py - Activity monitor → Session lifecycle: manages sessions
app/activity/monitoring/session_manager.py - Session lifecycle → Media service facade: enriches sessions
app/activity/monitoring/session_manager.py - Activity ingestion → Application records: stores activity
app/services/activity/ingestion.py - Activity API → Activity ingestion
- REST API → Invitation management: manages invitations
app/blueprints/api/api_routes.py - REST API → Media service facade: uses service
app/blueprints/api/api_routes.py - REST API → Application records: queries records
app/blueprints/api/api_routes.py