mixerbee
Smart playlist and collection builder for Emby and Jellyfin. Self-hosted, browser-based UI.
10K+
MixerBee is a self-hosted web app designed to build and manage smart playlists and collections for Emby and Jellyfin media servers.
Whether you want to interleave episodes from multiple TV shows, create themed movie blocks with complex filters, mix both or automate your playlist management with a scheduling engine, Mixerbee can probably handle it.
This release introduces an overhaul of the AI engine, transitioning to a 100% local Vector Database to enable semantic mood searching, along with strict actor/director/writer/producer, genre and additional filtering.
Utilizing a local ChromaDB instance running the all-MiniLM-L6-v2 embedding model, MixerBee mathematically maps abstract concepts and moods directly to the plot summaries of your library.
Because the vectorization happens entirely locally, your library metadata is never sent to the cloud for embedding.
The MixerBee AI reads your prompt and dynamically decides between two UI modes:
1. Dynamic Rule Blocks (Metadata-Driven) If you ask for concrete rules (e.g., "Give me 5 Action movies from the 1980s" or "Sci-Fi movies starring Harrison Ford"), the AI builds a standard block. The UI remains fully open, allowing you to manually tweak the dropdowns, sliders, and checkboxes before building.
2. Curated AI Blocks (Mood Driven) If you ask for an abstract feeling (e.g., "A gritty, neon-soaked cyberpunk aesthetic" or "Cozy rainy day movies"), standard dropdowns aren't enough. The AI searches your local generated vector database, picks media, and builds a curated list.
Prompting Tips: The vector database loves adjectives. Instead of just saying "scary," you can use terms like "dread-inducing, atmospheric, suspenseful and other mood adjectives." You can also mix and match. ("Give me 3 episodes of Fallout, followed by a block of movies with a high-octane vibe.")
Previously, searching for a person in the Movie Block acted as a broad catch-all (returning movies where a director might have just had a minor cameo).
find_movies to pass the PersonTypes parameter to the Emby API for strict role intersection.[Any Role | Actor | Director | Writer | Producer]) to the frontend Movie Block UI for finer filtering.movie_directors and movie_actors from your prompts so AI blocks map perfectly to these strict roles.MixerBee requires a persistent volume mounted to /config to store its databases and environment settings.
Docker CLI:
docker run -d \
--name mixerbee \
-p 9000:9000 \
-v $PWD/mixerbee_config:/config \
--restart unless-stopped \
trulytilted/mixerbee:latest
Docker Compose:
services:
mixerbee:
image: trulytilted/mixerbee:latest
container_name: mixerbee
ports:
- "9000:9000"
volumes:
- ./mixerbee_config:/config
restart: unless-stopped
tty: true
After starting the container, visit: http://:9000
To enable AI features, provide a GEMINI_API_KEY via the web settings UI or your .env file.
To keep your playlists perfectly synced as you watch content, it is highly recommended to configure the Webhooks plugin in your media server. Point it to:
http://<mixerbee-ip>:9000/api/webhook
MixerBee will automatically process these events to produce non-disruptive playlist updates.
For full setup guides, screenshots, and advanced configuration details, please visit the official repository: https://github.com/tophers/MixerBee
Content type
Image
Digest
sha256:73c4f7936…
Size
527.3 MB
Last updated
about 2 months ago
docker pull trulytilted/mixerbee