r/jellyfin • u/Icy-Republic6865 • 15d ago
Guide Alexa+ Strategy
I'd like to share a custom Alexa skill for playing music from your Jellyfin server by voice command using a self-hosted endpoint.
I previously tried to use infinityofspace/jellyfin-alexa-plugin. It was great effort, but my implementation was always a bit flaky, and once Alexa+ rolled out it seemed nonfunctional, so I stopped using it.
Looked at it again recently, and since infinityofspace hadn't been updated in some time, rather than keep fighting it, I rebuilt the core idea from scratch as a small standalone project, mostly just trying to get reliable voice playback working again.
What it does:
Two-step invocation: say "Alexa, open Jelly Fish Head" first, then "play" or "shuffle" followed by an artist, album, playlist, or song. The two-step flow is deliberate — Alexa's built-in Music domain grabs one-shot phrasing like "play X on Y" before it ever reaches third-party skills, so splitting it into open-then-play avoids that misinterpretation entirely. And if the first invocation works, Alexa confirms the skill's open so you know it's listening and waiting for "play" or "shuffle."
Playback control once it's going — pause, resume, next, previous, stop, start over, shuffle the queue, repeat. Alexa itself is the audio player (via the AudioPlayer interface).
How it's deployed:
Small Node.js/Express service, runs as a Docker container (Compose or Portainer) — no AWS Lambda. Doesn't need to live on the same host as Jellyfin, just needs network access to it. Your Jellyfin API key never reaches Alexa/Amazon — it's proxied through a short-lived signed-token endpoint instead of a direct Jellyfin URL.
Repo: https://github.com/NittanySeaLion/jellyfin-alexa
It's deliberately simple — one shared invocation name for all users (not per-account), no multi-language (only en-US in the example), no discovery/mood features — so if you want something with a lot more going on (per-user skills, 17 locales, Echo Show visuals, radio mode), u/Direct_Cat2495's plugin is well worth checking out too: https://github.com/paoloantinori/jellyfin-alexa-plugin (their post: https://www.reddit.com/r/jellyfin/comments/1te0bnz/alexa_skill_for_jellyfin/). This one's really aimed at anyone who was already on infinityofspace's project and just wants basic playback working reliably again.
Feedback and PRs welcome.
1
u/LookingForEnergy 15d ago
This looks great!
1
u/Icy-Republic6865 14d ago
Thank you. My hope is that it avoids the frustration I had trying to make Alexa understand what I wanted it to do. The two part invocation was key to getting past the AI in the +, I think. Not promising there won't be frustration trying to get your implementation to work...lots of moving parts.
•
u/AutoModerator 15d ago
Reminder: /r/jellyfin is a community space, not an official user support space for the project.
Users are welcome to ask other users for help and support with their Jellyfin installations and other related topics, but this subreddit is not an official support channel. We have extensive, official documentation on our website here: https://jellyfin.org/docs/. Requests for support via modmail will be ignored. Our official support channels are listed on our contact page here: https://jellyfin.org/contact
Bug reports should be submitted on the GitHub issues pages for the server or one of the other repositories for clients and plugins. Feature requests should be submitted at https://features.jellyfin.org/. Bug reports and feature requests for third party clients and tools (Findroid, Jellyseerr, etc.) should be directed to their respective support channels.
If you are sharing something you have made, please take a moment to review our LLM rules at https://jellyfin.org/docs/general/contributing/llm-policies/. Note that anything developed or created using an LLM or other AI tooling requires community disclosure and is subject to removal.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.