All apps · 0 apps
MUM
Docker app from grtgbln's Repository
Overview
Readme
View on GitHubMultimedia User Management (MUM)
MUM (Multimedia User Management) is a comprehensive, self-hosted web application that centralizes user management across multiple media servers and services. Built with a modern plugin architecture, MUM provides administrators with a unified dashboard to manage users, create sophisticated invite systems, monitor streaming activity, and maintain library access across diverse media platforms - all from one intuitive interface.
| Dashboard | Invites |
|---|---|
| WIP | WIP |
| Users | Streaming |
| WIP | WIP |
Key Features
- Comprehensive Service Support:
- Plex: User Management, Library Sharing Management, real-time session monitoring, Plex Home integration
- Jellyfin & Emby: User Management, Library Sharing Management, real-time session monitoring
- Kavita & Komga: User Management, Library Sharing Management
- AudioBookshelf: User Management, Library Sharing Management, real-time session monitoring
- RomM: User Management
- Intelligent User Management:
- Unified dashboard displaying users across all connected services
- Granular library access control with service-specific permissions
- Bulk operations for efficient mass user management
- Service-specific role detection and badge display
- Sophisticated Invite System:
- Multi-server invite creation with cross-platform library selection
- Flexible expiration policies and usage limitations
- Service-specific permission templates and access controls
- Temporary membership with automated lifecycle management
- Custom invite paths and branding options
- Advanced Discord Integration: (WIP)
- OAuth-based account linking with server membership validation
- Conditional invite acceptance based on Discord status
- Guild membership requirements with administrative controls
- Real-Time Monitoring & Analytics:
- Live streaming session monitoring across all services
- Service-specific activity tracking and user engagement metrics
- Remote session termination capabilities
- Comprehensive logging and debugging tools
- Automated Lifecycle Management:
- Intelligent user purging based on activity patterns
- Whitelist protection for critical users
- Automated membership expiration handling
- Service-specific cleanup and maintenance routines
Docker Deployment
The easiest way to deploy MUM is with Docker.
Docker Compose
Create a
docker-compose.ymlfile:services: mum: image: ghcr.io/mrrobotjs/mum:latest # Highly encouraged to check github releases and use the latest version instead of using ‘latest’ container_name: mum restart: unless-stopped depends_on: - postgres ports: - "5699:5000" # Host port → React/Flask entrypoint volumes: - ./multimediausermanager:/app/instance environment: - TZ=America/New_York # REQUIRED: Set your local timezone - PUID=1000 # REQUIRED: User ID for file permissions - PGID=1000 # REQUIRED: Group ID for file permissions - FLASK_LOG_LEVEL=INFO # Change to DEBUG for developer debugging - SOCKETIO_ASYNC_MODE=eventlet # SocketIO async mode: eventlet for Gunicorn production, threading for Flask dev server - DATABASE_URL=postgresql+psycopg://mum:mum_pass@postgres:5432/mum - FLASK_PORT=5000 # Internal Flask API port (mirrors gunicorn bind) - FRONTEND_PORT=5000 # Port exposed for the React frontend - vite development (defaults to Flask port) postgres: image: postgres:18.1 container_name: mum_postgres restart: unless-stopped ports: - "5432:5432" environment: - POSTGRES_USER=mum - POSTGRES_PASSWORD=mum_pass - POSTGRES_DB=mum - PGDATA=/var/lib/postgresql/18/docker volumes: - ./multimediausermanager/db:/var/lib/postgresqlPrepare Host Directory: Create the directory on your host machine that you specified in the
volumessection.mkdir ./multimediausermanagerThis directory will store application data and logs. The PostgreSQL data directory will be stored in
./multimediausermanager/db.Customize and Run:
- Adjust the port mapping (
5699:5000) if the host port is in use. - Set the
TZenvironment variable to your local timezone (e.g.,Europe/London). - Run the application:
docker-compose up -d
- Adjust the port mapping (
Initial Setup:
- Access MUM in your browser at
http://<your_host_ip>:<host_port>(e.g.,http://localhost:5699). - Follow the on-screen setup wizard to create an admin account, configure your media servers, and set the application's base URL.
- Access MUM in your browser at
Configuration
MUM provides comprehensive configuration management through an intuitive web interface. All settings are accessible post-setup and include:
- General Settings:
- Application branding (name, description, base URL)
- Timezone configuration and localization preferences
- Global feature toggles and operational modes
- Plugin Management:
- Enable, disable, and configure individual media service plugins
- Per-service connection testing and validation
- Service-specific settings and authentication methods
- Library synchronization and access control policies
- Discord Integration: (WIP)
- OAuth application setup with client credentials
- Bot token configuration for advanced features
- Guild membership requirements and validation
- Feature-specific toggles (SSO, membership enforcement)
- User Account System:
- Local user account creation and management
- Account linking policies between services
- Permission templates and role assignments
- Administrative Controls:
- Multi-admin support with granular permissions
- Role-based access control (RBAC) system
- Administrative audit logging and activity tracking
- Advanced Configuration:
- Security key regeneration and encryption settings
- Database maintenance and backup utilities
- Raw configuration editor for advanced users
- System diagnostics and health monitoring
Frontend Development
The admin experience is being migrated to a React SPA that lives in frontend/.
- Install dependencies:
npm installinsidefrontend/. - Local development:
npm run dev(honorsFRONTEND_PORT, defaults to 5173) and proxies API calls to the Flask backend specified byFLASK_PORT. - Production build:
npm run buildemits assets intoapp/static/dist, which Flask serves alongside existing Jinja templates during the transition. - Docker users can change the host port by editing the left side of the
portsmapping (e.g.,5699:5000). Only changeFLASK_PORTif you also change the container-side port (right side).
Contributing
Contributions are welcome! Please feel free to submit a Pull Request or open an Issue.
Media gallery
1 / 4Install MUM on Unraid in a few clicks.
Find MUM in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.
Related apps
Explore more like this
Explore allDetails
ghcr.io/mrrobotjs/mum:latestRuntime arguments
- Web UI
http://[IP]:[PORT:5000]/- Network
bridge- Privileged
- false
Template configuration
Container Port: 5000
- Target
- 5000
- Default
- 5699
- Value
- 5699
Path to the data folder
- Target
- /app/instance
- Default
- /mnt/user/appdata/mum/data
- Value
- /mnt/user/appdata/mum/data
- Default
- 099
- Value
- 099
- Default
- 100
- Value
- 100