crobibero / jellyfin-vue

A modern web client for Jellyfin based on Vue.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jellyfin Vue

Part of the Jellyfin Project


Logo Banner

Docker Pulls GHCR images
GPL 3.0 License Current Release Commitizen friendly
Donate Feature Requests Chat on Matrix Join our Subreddit

This is an experimental web client for Jellyfin based on Vue.js. We welcome all contributions and pull requests! If you have a larger feature in mind please open an issue so we can discuss the implementation before you start.

Build Process

Dependencies

  • Node.js LTS >=16.13.1 <17.0.0
  • npm >=8.1.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 the web client with Nuxt as a server for local development.

    npm start

    The client will be available at http://127.0.0.1:3000 by default.

    Build for production

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

    npm run build

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

Other build features

Running a production build

Instead of a development version, you can run a server with a production-ready build of the client directly with Nuxt, so you can verify in advance how the client will work in a production environment:

npm run prod

Although the build of the client is production-ready, Nuxt's own HTTP server should never be exposed directly to the internet and a proper hosting tool like Nginx should always be used instead.

Contributing

We provide a devcontainer to help you setup your environment.

The project also contains recommended extensions for Visual Studio Code, which will help you with syntax style and development.

Finally, we provide useful pre-commit hooks via Husky, as well as Comitizen integration, in order to help you respect the style and naming conventions used throughout this project.

For more information about how to contribute to this project, see CONTRIBUTING.md

About

A modern web client for Jellyfin based on Vue.

License:GNU General Public License v3.0


Languages

Language:Vue 58.1%Language:TypeScript 39.3%Language:SCSS 1.2%Language:JavaScript 1.0%Language:Dockerfile 0.3%Language:HTML 0.1%Language:Shell 0.0%