Mydia

Mydia

Docker app from grtgbln's Repository

Overview

A modern, self-hosted media management platform for tracking, organizing, and monitoring your media library.

Mydia

Test & Quality Documentation TestFlight

Your personal media companion, built with Phoenix LiveView

A modern, self-hosted media management platform for tracking, organizing, and monitoring your movies and TV shows.

Warning: Mydia is in early development (0.x.x). Expect breaking changes. Report issues or request features.

Mydia Dashboard

Quick Start

1. Generate secrets:

openssl rand -base64 48  # SECRET_KEY_BASE
openssl rand -base64 48  # GUARDIAN_SECRET_KEY

2. Create docker-compose.yml:

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
      - MOVIES_PATH=/media/library/movies
      - TV_PATH=/media/library/tv
    volumes:
      - ./config:/config
      - /path/to/media:/media
    ports:
      - 4000:4000
    restart: unless-stopped

3. Start and access:

docker compose up -d

Open http://localhost:4000 and create your admin account.

Features

  • Unified Media Management - Movies + TV shows with TMDB/TVDB metadata
  • Automated Downloads - Quality profiles, smart release ranking
  • Download Clients - qBittorrent, Transmission, rqbit, SABnzbd, NZBGet
  • Indexers - Prowlarr, Jackett, built-in Cardigann (experimental)
  • Multi-User - Admin/guest roles with request workflow
  • SSO - Local auth + OIDC/OpenID Connect
  • Import Lists - Sync from TMDB watchlists, popular, trending (experimental)
  • Real-Time UI - Phoenix LiveView with instant updates

Mobile App (iOS Beta)

The Mydia player is in open beta on TestFlight. On an iPhone or iPad with the TestFlight app installed:

Join the iOS Beta →

New builds reach testers automatically as they ship.

Documentation

Full documentation available at docs.mydia.dev

Screenshots

Movies TV Shows Calendar
Movies TV Shows Calendar

Contributing

./dev up -d              # Start development environment
./dev mix ecto.migrate   # Run migrations
./dev mix test           # Run tests
./dev mix precommit      # Run all checks

See the Development Guide for details.

Documentation

Docs are built with MkDocs and Material for MkDocs. Requires uv.

uv sync --project docs            # Install dependencies
uv run --project docs mkdocs serve   # Serve at http://localhost:8000
uv run --project docs mkdocs build   # Build static site to /site

License

Built with Elixir & Phoenix

Media gallery

1 / 5

Install Mydia on Unraid in a few clicks.

Find Mydia 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.

Open the Apps tab on your Unraid server Search Community Apps for Mydia Review the template variables and paths Click Install

Requirements


        Additional configuration options documented here: https://github.com/getmydia/mydia#-environment-variables-reference
    

Details

Repository
ghcr.io/getmydia/mydia:latest
Last Updated2026-07-15
First Seen2025-11-08

Runtime arguments

Web UI
http://[IP]:[PORT:4000]/
Network
bridge
Privileged
false

Template configuration

Web UI PortPorttcp

Container Port: 4000

Target
4000
Default
4000
Value
4000
Secret Key BaseVariable

Generate with 'openssl rand -base64 48'

Target
SECRET_KEY_BASE
Guardian Secret KeyVariable

Generate with 'openssl rand -base64 48'

Target
GUARDIAN_SECRET_KEY
Host DomainVariable

Change to your domain or IP address

Target
PHX_HOST
Default
localhost
Value
localhost
Movies PathPath

Path to your movies folder on the host system

Target
/media/movies
TV Shows PathPath

Path to your TV shows folder on the host system

Target
/media/tv
Downloads PathPath

Path to your downloads folder on the host system

Target
/media/downloads
Config PathPath

Path to the configuration folder

Target
/config
Default
/mnt/user/appdata/mydia/config
Value
/mnt/user/appdata/mydia/config
Internal PortVariable

Internal application port. Not recommended to change.

Target
PORT
Default
4000
Value
4000
Internal Movies PathVariable

Internal path to movies folder. Not recommended to change.

Target
MOVIES_PATH
Default
/media/movies
Value
/media/movies
Internal TV Shows PathVariable

Internal path to TV shows folder. Not recommended to change.

Target
TV_PATH
Default
/media/tv
Value
/media/tv
Internal Database PathVariable

Internal path to the database file. Not recommended to change.

Target
DATABASE_PATH
Default
/config/mydia.db
Value
/config/mydia.db