A modern web client for Jellyfin based on Vue
Go to file
Julien Machiels 1f0fbc2eee
Merge pull request #845 from jellyfin/dependabot/npm_and_yarn/nuxtjs/eslint-config-6.0.0
chore(deps-dev): bump @nuxtjs/eslint-config from 5.0.0 to 6.0.0
2021-03-11 11:40:24 +01:00
.devcontainer chore: switch to npm 2021-03-10 13:41:17 +01:00
.docker fix(deps): bump nuxt-start from 2.15.2 to 2.15.3 in /.docker 2021-03-11 00:48:03 +00:00
.github refactor: address review comments 2021-03-10 18:55:55 +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 fix: recommended extensions 2021-01-27 21:47:26 +01:00
assets Merge pull request #780 from jellyfin/mobile-friendlier 2021-03-02 22:15:45 +01:00
components fix: refactor source parsing in imagesearch to fix build 2021-03-11 11:33:02 +01:00
layouts Merge pull request #780 from jellyfin/mobile-friendlier 2021-03-02 22:15:45 +01:00
locales fix: refactor source parsing in imagesearch to fix build 2021-03-11 11:33:02 +01:00
middleware Merge pull request #748 from jellyfin/test-admin-middleware1 2021-03-07 13:15:45 +01:00
mixins fix: typescript errors 2021-03-08 14:05:14 +01:00
pages Merge pull request #840 from jellyfin/sonarcloud-cleanup 2021-03-07 10:59:18 +01:00
plugins fix: typescript errors 2021-03-08 14:05:14 +01:00
schemes style: enforce curly braces on one-line if statements 2021-03-06 17:19:16 +01:00
static feat: new JF Vue icons 2021-02-28 17:52:39 +01:00
store feat(websocket): update items on server notification 2021-03-10 22:50:57 +01:00
utils fix: typescript errors 2021-03-08 14:05:14 +01:00
.babelrc feat: add initial Nuxt template 2020-09-02 20:48:53 +02: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 chore: switch to npm 2021-03-10 13:41:17 +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 build(config): use proper module location for nuxt-pwa when running in ssr mode 2021-03-03 21:41:40 +01:00
package-lock.json fix: refactor source parsing in imagesearch to fix build 2021-03-11 11:33:02 +01:00
package.json chore(deps-dev): bump @nuxtjs/eslint-config from 5.0.0 to 6.0.0 2021-03-11 08:45:26 +00:00
README.md refactor: address review comments 2021-03-10 18:55:55 +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 Discuss on our Forum 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 .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