A modern web client for Jellyfin based on Vue
Go to file
Fernando Fernández a54bff9379 chore: fix lint
2021-12-07 15:22:17 +01:00
.devcontainer chore(node16): update Docker and development environment to Node 16 2021-11-02 15:19:14 +01:00
.docker chore(node16): update lockfile to version 3 (npm > 7 only) 2021-11-02 15:19:14 +01:00
.github ci: fix docker SSR start command and non-CI docker builds 2021-12-05 22:27:07 +01:00
.husky refactor: address review comments 2021-03-10 18:55:55 +01:00
.vscode chore: rename client dir to src 2021-08-26 04:51:58 +02:00
src chore: remove camel-case dependency 2021-12-07 15:22:17 +01:00
.dockerignore ci: fix docker SSR start command and non-CI docker builds 2021-12-05 22:27:07 +01:00
.editorconfig feat: replace circle loader with Jellyfin-Vue logo 2021-12-05 22:20:27 +01:00
.eslintignore test: fix test not passing due to new API version 2021-08-27 13:13:35 +02:00
.eslintrc.js chore: fix lint 2021-12-07 15:22:17 +01:00
.gitattributes chore(git): add merge attributes for locale files 2020-11-17 19:11:40 +01:00
.gitignore chore(https): upgrade all mentions outside package-lock from http to https 2021-11-02 15:19:14 +01:00
.npmrc refactor: address review comments 2021-03-10 18:55:55 +01:00
.prettierignore feat: replace circle loader with Jellyfin-Vue logo 2021-12-05 22:20:27 +01:00
.prettierrc feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
codecov.yml ci(codecov): removed patch check 2021-03-03 19:30:21 +01:00
commitlint.config.js feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
CONTRIBUTING.md Fix translation platform link 2021-03-22 03:43:30 +01:00
Dockerfile ci: add build deps needed on arm platforms 2021-12-06 21:00:54 +01:00
Dockerfile.ssr ci: add build deps needed on arm platforms 2021-12-06 21:00:54 +01:00
jest.config.js chore: rename client dir to src 2021-08-26 04:51:58 +02:00
LICENSE feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
package-lock.json chore: fix lint 2021-12-07 15:22:17 +01:00
package.json chore: revert stylelint dep update 2021-12-07 15:22:17 +01:00
README.md docs: add ghcr badge 2021-12-07 03:11:12 -07:00
stylelint.config.js feat(dark-theme): add dark theme colors 2021-01-09 11:36:43 +01:00
tsconfig.json build: fix imports and eslint config for use of src folder 2021-03-26 16:43:07 +01:00
vetur.config.js chore: rename client dir to src 2021-08-26 04:51:58 +02:00

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.0 <17.0.0
  • npm >=8.1.0 (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.

Server-Side Rendering (SSR)

This client fully supports Server-Side Rendering. All the commands listed above have their SSR siblings:

npm run build:ssr
npm run start:ssr
npm run prod:ssr

Running standalone

When building the SSR version of the client, all the dependencies (including those only relevant for development) will be included. If you don't plan to contribute or customize the client, these dependencies won't be useful at all for you. In order to save some space at runtime, you can specify to npm that you want only runtime dependencies and build an standalone version of the client:

npm install --production
npm run build:ssr:standalone

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