Mydia
Your personal media companion, built with Phoenix LiveView
A modern, self-hosted media management platform for tracking, organizing, and monitoring your media library.
Early Development
Mydia is still in version 0.x.x and is subject to major changes from version to version. Feedback is welcome! Expect bugs and please open issues or feature requests.
Features
- Unified Media Management - Track both movies and TV shows with rich metadata from TMDB/TVDB
- Automated Downloads - Background search and download with quality profiles and smart release ranking
- Download Clients - qBittorrent, Transmission, SABnzbd, and NZBGet support
- Indexer Integration - Search via Prowlarr and Jackett for finding releases
- Built-in Indexer Library - Native Cardigann support (experimental, limited testing)
- Multi-User System - Built-in admin/guest roles with request approval workflow
- SSO Support - Local authentication plus OIDC/OpenID Connect integration
- Release Calendar - Track upcoming releases and monitor episodes
- Import Lists - Sync external lists from TMDB (watchlists, popular, trending) to auto-add content (experimental)
- Modern Real-Time UI - Phoenix LiveView with instant updates and responsive design
Quick Start
Get started with Mydia in minutes using Docker Compose:
services:
mydia:
image: ghcr.io/getmydia/mydia:latest
container_name: mydia
environment:
- PUID=1000
- PGID=1000
- TZ=America/New_York
- SECRET_KEY_BASE=your-secret-key-base-here
- GUARDIAN_SECRET_KEY=your-guardian-secret-key-here
- PHX_HOST=localhost
- PORT=4000
- MOVIES_PATH=/media/library/movies
- TV_PATH=/media/library/tv
volumes:
- /path/to/mydia/config:/config
- /path/to/your/media:/media
ports:
- 4000:4000
restart: unless-stopped
Generate the required secrets:
# Generate SECRET_KEY_BASE
openssl rand -base64 48
# Generate GUARDIAN_SECRET_KEY
openssl rand -base64 48
For detailed setup instructions, see the Getting Started Guide.
Screenshots
-
Dashboard

-
Movies

-
TV Shows

-
Calendar

Comparison with Radarr & Sonarr
| Feature | Mydia | Radarr | Sonarr |
|---|---|---|---|
| Media Types | Movies + TV Shows | Movies only | TV Shows only |
| Built-in Indexers | Cardigann (experimental) | Requires Prowlarr/Jackett | Requires Prowlarr/Jackett |
| Multi-User & Requests | Built-in (admin/guest roles) | Requires Ombi/Overseerr | Requires Ombi/Overseerr |
| Authentication | Local + OIDC/SSO built-in | Local only | Local only |
| Library Management | Yes | Yes | Yes |
| Download Automation | Yes | Yes | Yes |
| Quality Profiles | Yes | Advanced | Advanced |
| Custom Formats | Planned | Yes | Yes |
| Automatic Upgrades | Planned | Yes | Yes |
| Media Server Integration | Planned | Plex/Kodi/Jellyfin | Plex/Kodi/Jellyfin |
| List Import | Experimental | Yes | Yes |
| Native Playback | Experimental | No | No |
| Technology | Elixir/Phoenix LiveView | .NET/React | .NET/React |
| Maturity | Early development | Production-ready | Production-ready |
Choose Mydia for: Unified movies+TV management, built-in multi-user support, modern real-time UI, native SSO
Choose Radarr/Sonarr for: Mature ecosystem, advanced custom formats, comprehensive automation, wider integrations
Getting Help
- GitHub Issues - Bug reports and feature requests
- Documentation - Full documentation
Tech Stack
- Phoenix 1.8 + LiveView
- Ecto + SQLite/PostgreSQL
- Oban (background jobs)
- Tailwind CSS + DaisyUI
- Req (HTTP client)