A modern web client for Jellyfin based on Vue
Go to file
MrTimscampi ccd6e07380 chore(vscode): set default auto formatter to Prettier
VSCode sometimes "forget" what the formatter is, leading to format on save not working.
2021-03-17 00:42:32 +01:00
.devcontainer chore: switch to npm 2021-03-10 13:41:17 +01:00
.docker chore: fix readme type & disabled telemetry in CI config 2021-03-14 22:11:56 +01:00
.github Merge pull request #884 from jellyfin/fix-docker 2021-03-15 13:14:01 +01:00
.husky refactor: address review comments 2021-03-10 18:55:55 +01:00
.run feat(.run): add WebStorm run configurations 2020-09-02 22:30:42 +02:00
.vscode chore(vscode): set default auto formatter to Prettier 2021-03-17 00:42:32 +01:00
assets Merge pull request #780 from jellyfin/mobile-friendlier 2021-03-02 22:15:45 +01:00
components refactor: snackbar and decouple settings from displaypreferences 2021-03-17 00:42:32 +01:00
layouts refactor: snackbar and decouple settings from displaypreferences 2021-03-17 00:42:32 +01:00
locales refactor: snackbar and decouple settings from displaypreferences 2021-03-17 00:42:32 +01:00
middleware Merge pull request #748 from jellyfin/test-admin-middleware1 2021-03-07 13:15:45 +01:00
mixins refactor: snackbar and decouple settings from displaypreferences 2021-03-17 00:42:32 +01:00
pages refactor: snackbar and decouple settings from displaypreferences 2021-03-17 00:42:32 +01:00
plugins fix: typescript errors 2021-03-08 14:05:14 +01:00
schemes refactor: watch settings change in a plugin and address review comments 2021-03-17 00:42:32 +01:00
static feat: new JF Vue icons 2021-02-28 17:52:39 +01:00
store chore(vscode): set default auto formatter to Prettier 2021-03-17 00:42:32 +01:00
utils perf(build): optimize build size 2021-03-11 11:47:57 +01:00
.babelrc feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.dockerignore build(docker): restore dockerignor 2021-03-15 11:39:09 +01:00
.editorconfig feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.eslintignore build(eslint): add more files to eslintignore 2020-09-04 17:23:18 +02:00
.eslintrc.js style: enforce curly braces on one-line if statements 2021-03-06 17:19:16 +01:00
.gitattributes chore(git): add merge attributes for locale files 2020-11-17 19:11:40 +01:00
.gitignore feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.npmrc refactor: address review comments 2021-03-10 18:55:55 +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 docs(contributing): use more explicit test descriptions 2021-02-27 12:22:31 +01:00
Dockerfile fix(docker): fix dockerfile not building the SSR version properly 2021-03-15 12:18:40 +01:00
Dockerfile.static chore: switch to npm 2021-03-10 13:41:17 +01:00
jest-helpers.d.ts feat(item store): added an item store 2021-03-04 14:22:52 +01:00
jest.config.js feat(item store): added an item store 2021-03-04 14:22:52 +01:00
jest.setup.ts test(like button): add tests for like button 2021-02-04 18:42:52 +00:00
LICENSE feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
nuxt-i18n.d.ts refactor: override typings for $t and remove string casting 2021-01-02 15:55:37 +01:00
nuxt.config.ts refactor: snackbar and decouple settings from displaypreferences 2021-03-17 00:42:32 +01:00
package-lock.json fix(deps): bump shaka-player from 3.0.8 to 3.0.9 2021-03-16 08:00:47 +00:00
package.json feat: replace boolean with destr for complete datatype casting 2021-03-17 00:42:30 +01:00
README.md fix(docker): fix dockerfile not building the SSR version properly 2021-03-15 12:18:40 +01:00
stylelint.config.js feat(dark-theme): add dark theme colors 2021-01-09 11:36:43 +01:00
tsconfig.json build(tsconfig): add MediaSession API typings 2021-01-17 06:21:16 +01:00
vue-shims.d.ts refactor(login): move requests from login and server form to vuex 2020-11-29 20:59:10 +01:00
yarn.lock feat: replace boolean with destr for complete datatype casting 2021-03-17 00:42:30 +01:00

Jellyfin Vue

Part of the Jellyfin Project


Logo Banner

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.

Requirements

This project requires Node 14 and uses npm as a package manager.

You also need the following Jellyfin server version:

Jellyfin >=10.7.0

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

Build Process

# install dependencies
$ npm install

# server with hot reload at localhost:3000
$ npm run dev

# serve with hot reload in static mode at localhost:3000
$ npm run dev:static

# build for production
$ npm run build
# launch server
$ npm run start

# build for production and launch server
$ npm run prod

# build for production in static mode
# you will need a web server to host the client
$ npm run build:static

# build for production in static mode and run server
$ npm run prod:static

Running standalone

When using the SSR version of the client, you can run the client in standalone mode in order to save space.

# install dependencies
$ npm install

# build for production in standalone mode, with server-side rendering
$ npm run build:standalone

# move the server and required files to a dedicated directory
$ mkdir -p /opt/jellyfin-vue
$ cp -r .nuxt .docker/nuxt.config.js .docker/package.json /opt/jellyfin-vue

# install the required dependency and start the client
$ cd /opt/jellyfin-vue
$ npm install
$ npm run start