A modern web client for Jellyfin based on Vue.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Fernando eb30f23b05 chore(i18n): remove translation (Spanish (Latin America)) 12 hours ago
.devcontainer chore(devcontainer): use --no-audit for ci command 1 day ago
.docker ci: update Dockerfile to new config.json client configuration 2 months ago
.github chore(deps): update actions/dependency-review-action action to v3.0.6 (#2018) 6 days ago
.vscode fix: type errors, add recommended TS extension 1 month ago
debian chore(debian-packaging): use npm ci instead of install 5 months ago
frontend chore(i18n): remove translation (Spanish (Latin America)) 12 hours ago
tauri chore: fix tauri build 6 days ago
.dockerignore ci(docker): build the client entirely in the Docker context 1 year ago
.editorconfig feat: replace circle loader with Jellyfin-Vue logo 2 years ago
.gitattributes chore(git): add merge attributes for locale files 3 years ago
.gitignore chore(debian-packaging): add configuration 5 months ago
.npmrc chore: pre-merge cleanup 2 months ago
Dockerfile ci: update Dockerfile to new config.json client configuration 2 months ago
LICENSE feat: add initial Nuxt template 3 years ago
README.md chore: update readme 2 months ago
package-lock.json chore(deps): update npm development dependencies (#2027) 6 days ago
package.json chore(node): upgrade to Node 18 LTS 2 months ago


Jellyfin Vue

Part of the Jellyfin Project

Logo Banner Docker Pulls GHCR images GPL 3.0 License Current Release Conventional Commits Donate Feature Requests Chat on Matrix Join our Subreddit Code coverage Maintainability Rating Reliability Rating Vulnerabilities Code Smells Technical debt Quality gate Duplicated lines Bugs Security Total lines

This is an alternative client for Jellyfin based on Vue.js. It might not be feature complete and it's constantly evolving.

For end users 👨‍👩‍👧‍👦

Hosted instance 🌍

Our hosted instance points to a version built from the current master branch. Hosted by CloudFlare Pages.

Docker Container 📦

You can run the Docker container with the following command, replacing 8080 with the port of your choice:

docker run -d -p 8080:80 ghcr.io/jellyfin/jellyfin-vue

You can check GitHub Packages (GHCR) (recommended) or DockerHub for all the tagged images.

Other means 💽

There are more ways to host Jellyfin Vue yourself. Check our wiki page for the most up to date information.

Privacy disclaimer 🕵🏻

Jellyfin Vue is just a GUI frontend for a Jellyfin server. It only establishes connection to the Jellyfin server that you point it to, nothing else.

  • Local instances Examples: Our Windows/Mac/Linux application, a local web server, etc: All the necessary assets for the frontend to work are available locally (in your device) or bundled into the underlying environment (Tauri, Electron, etc) where it is running. No assets need to be fetched remotely.
  • Remote instances Examples: Our hosted instance, an admin hosting Jellyfin Vue and sharing the URL (which is in a different domain from the Jellyfin Server), etc: This probably comprises most cases. Here, all the frontend assets are not locally available, but somewhere else. When you access the remotely hosted frontend (normally using a web browser like Firefox or Microsoft Edge), all the frontend assets are loaded/cached into your device. Once the load has finished, the connection will exclusively be between your device and the Jellyfin server(s) ¹². Whoever is serving the frontend is never in the middle. ³

¹ Assuming that the hosted version has not been altered (by adding trackers, beacons...) in any way from the sources provided in this repository and you trust the person/people behind it to not have done so.

² Some features that need access to remote resources that are not controlled by you and/or the person hosting Jellyfin Vue might be added in the future (such as Google Cast support for Chromecasts). These will be always opt in and toggleable through our configuration

³ We assume standard networks here, no special configurations or policies that your ISP/Workplace/University/etc might apply.

For your interest, Jellyfin Web (our main frontend) works in a similar way: It connects by default to the Jellyfin server that is running alongside, but it's also capable to connect to other Jellyfin servers like can be tested in our demo and, once loaded, only connections to fetch its own assets are made to the original server. Jellyfin Web can also be hosted standalone like Jellyfin Vue.

For developers 🛠


  • Node.js LTS >=18.12.0 <19.0.0
  • npm >=8.19.2 (included in Node.js)
  • Jellyfin Server >=10.7.0

Getting Started

  1. Clone or download this repository:

    git clone https://github.com/jellyfin/jellyfin-vue.git
    cd jellyfin-vue
  2. Install the build dependencies in the project directory:

    npm install
  3. Run development build:

    npm start

    The client will be available at by default.

Build for production 🏗️

When you're ready to deploy the client, you must build it for production specifically:

npm run build

Build output will be available under the src/dist folder.

Other build features 🗜️

Running a production build

After building the client, you can serve it directly:

npm run serve

There's also a shortcut for building the production version of the client and serving it afterwards:

npm run prod

⚠️ Although the build of the client is production-ready, the internal HTTP server should never be exposed directly to the internet and a proper webserver like Nginx should always be used instead.

Contributing 🤝

Translations 🌐

Head over our translation platform

Code 🧮

We follow the fork and PR paradigm. We welcome all contributions and pull requests!

If you have larger changes in mind, split them up in smaller PRs as much as possible. You can also open a GitHub Discussion or reach with us in Matrix to talk about the implementation details or the review process.

For more information, see our contributing guide

Donations 💰

You can help the Jellyfin project as a whole pay for server and API expenses through our OpenCollective.

If you want to strictly donate to the developers of Jellyfin Vue, check our top contributors and sponsor whoever you want.

The maintainers/leaders of the development of every Jellyfin project (including Jellyfin Vue) are listed here.