A modern web client for Jellyfin based on Vue
Go to file
Julien Machiels 38ba1e41e5
Merge pull request #892 from jellyfin/dependabot/npm_and_yarn/nuxt-vuex-localstorage-1.3.0
fix(deps): bump nuxt-vuex-localstorage from 1.2.7 to 1.3.0
2021-03-18 09:50:08 +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: address review comments 2021-03-17 00:42:32 +01:00
layouts refactor(clientsettings): use Vuex plugin for syncing client settings 2021-03-17 00:42:32 +01:00
locales refactor(clientsettings): use Vuex plugin for syncing client settings 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(clientsettings): use Vuex plugin for syncing client settings 2021-03-17 00:42:32 +01:00
pages Merge pull request #877 from jellyfin/validate-ids 2021-03-17 18:45:15 +01:00
plugins fix: typescript errors 2021-03-08 14:05:14 +01:00
schemes refactor(clientsettings): use Vuex plugin for syncing client settings 2021-03-17 00:42:32 +01:00
static feat: new JF Vue icons 2021-02-28 17:52:39 +01:00
store refactor: address review comments 2021-03-17 00:42:32 +01:00
utils feat(pages): validate item IDs when navigating to the pages 2021-03-13 22:16:11 +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(clientsettings): use Vuex plugin for syncing client settings 2021-03-17 00:42:32 +01:00
package-lock.json Merge pull request #892 from jellyfin/dependabot/npm_and_yarn/nuxt-vuex-localstorage-1.3.0 2021-03-18 09:50:08 +01:00
package.json Merge pull request #892 from jellyfin/dependabot/npm_and_yarn/nuxt-vuex-localstorage-1.3.0 2021-03-18 09:50:08 +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

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