/jellyfin-web

Web Client for Jellyfin

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

Jellyfin Web

Part of the Jellyfin Project


Logo Banner

GPL 2.0 License Current Release Translation Status
Donate Feature Requests Chat on Matrix Join our Subreddit

Jellyfin Web is the frontend used for most of the clients available for end users, such as desktop browsers, Android, and iOS. 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. Translations can be improved very easily from our Weblate instance. Look through the following graphic to see if your native language could use some work!

Detailed Translation Status

Build Process

Dependencies

  • Node.js
  • npm (included in Node.js)

Getting Started

  1. Clone or download this repository.

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

    npm install
  3. Run the web client with webpack for local development.

    npm start
  4. Build the client with sourcemaps available.

    npm run build:development

Directory Structure

.
└── src
    ├── assets         # Static assets
    ├── components     # Higher order visual components and React components
    ├── controllers    # Legacy page views and controllers 🧹
    ├── elements       # Basic webcomponents and React wrappers 🧹
    ├── legacy         # Polyfills for legacy browsers
    ├── libraries      # Third party libraries 🧹
    ├── plugins        # Client plugins
    ├── routes         # React routes/pages
    ├── scripts        # Random assortment of visual components and utilities 🐉
    ├── strings        # Translation files
    ├── styles         # Common app Sass stylesheets
    ├── themes         # CSS themes
    └── utils          # Utility functions
  • 🧹 — Needs cleanup
  • 🐉 — Serious mess (Here be dragons)