Can't decide what to watch? Movie Night randomly picks movies from your Plex library with optional filters for genre, rating, decade, and playlists.
- Plex OAuth — Sign in with your Plex account, no API keys to configure
- Smart filters — Narrow by genre, content rating, decade, minimum audience score, or playlist
- Playlist support — Pick random movies from any of your Plex video playlists
- Poster cards — Movie posters with details on hover (title, year, rating, genres, summary)
- Secure — Plex tokens stay server-side; poster images are proxied so tokens never reach the browser
git clone https://github.com/RustyBower/MovieNight.git
cd MovieNight
python -m venv .venv
source .venv/bin/activate
pip install -e .
cp .env.example .env
# Edit .env and set a random SECRET_KEY
uvicorn app.main:app --reloadVisit http://localhost:8000, sign in with Plex, and roll the dice.
- FastAPI + Jinja2 + HTMX
- Tailwind CSS (CDN)
- PlexAPI for Plex integration
- itsdangerous for signed session cookies
| Variable | Description | Default |
|---|---|---|
SECRET_KEY |
Secret for signing session cookies | change-me |
PLEX_APP_CLIENT_ID |
Plex app client identifier | movienight-web-app |
BASE_URL |
Override base URL for OAuth redirect | Auto-detected |
MIT