A modern web client for Jellyfin based on Vue
Go to file
Bond-009 c5558c481c
Merge pull request #732 from jellyfin/dependabot/npm_and_yarn/eslint-7.20.0
chore(deps-dev): bump eslint from 7.19.0 to 7.20.0
2021-02-15 16:39:07 +01:00
.ci build(node): downgrade to node 12 2021-01-29 16:50:29 -07:00
.devcontainer fix(devcontainer): move to suggested extensions, switch default shell to zsh 2020-09-03 18:13:14 +00:00
.docker refactor: cleanup readme and remove env variables from ssr package 2021-01-23 14:43:15 +01:00
.github docs(bug reporting): add bug template, and config for bug reports 2021-02-09 10:17:28 +00:00
.husky chore(husky): fix husky hook permissions and command 2021-02-13 12:50:13 +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 feat(usercard): convert to a button 2021-02-12 15:22:13 +01:00
components Merge pull request #672 from jellyfin/fix-user-image 2021-02-12 15:39:12 +01:00
layouts refactor(default layout): add typings for subscribe function in default layout 2021-02-10 19:40:46 +00:00
locales Translated using Weblate (Indonesian) 2021-02-15 09:50:45 -05:00
middleware refactor: address review comments 2021-01-26 19:41:58 +01:00
mixins feat: handle fallbacks in blurhashimage 2021-02-12 14:27:47 +01:00
pages feat: handle fallbacks in blurhashimage 2021-02-12 14:27:47 +01:00
plugins fix(server store): fix servers not being stored if running without https 2021-02-09 09:37:59 +00:00
schemes fix(logout): fix logout failing if a base url is not set 2021-02-09 09:37:25 +00:00
static feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
store refactor(default layout): add typings for subscribe function in default layout 2021-02-10 19:40:46 +00:00
utils refactor(items utils): refactor items utils to reduce duplication 2021-02-03 22:59:26 +00:00
.babelrc feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.dockerignore build(dockerfile): use SSR version in dockerfile 2021-01-19 04:34:04 +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 chore: disable void html elements erroring on self-close 2021-02-10 18:56:45 +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
.prettierrc feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
.yarnclean chore(yarnclean): fix aggressive resource removal breaking Nuxt loading page 2021-01-19 05:39:07 +01:00
codecov.yml ci(codecov): add configuration file 2021-02-09 18:51:37 +00:00
commitlint.config.js feat: add initial Nuxt template 2020-09-02 20:48:53 +02:00
CONTRIBUTING.md chore: improve readme and add contributing guide 2020-10-20 19:57:43 +02:00
Dockerfile build(node): downgrade to node 12 2021-01-29 16:50:29 -07:00
Dockerfile.ci build(node): downgrade to node 12 2021-01-29 16:50:29 -07:00
Dockerfile.static build(node): downgrade to node 12 2021-01-29 16:50:29 -07:00
Dockerfile.static.ci ci(docker): rename dockerfiles used by CI 2021-01-24 16:26:09 +01:00
jest.config.js test(jest config): add missing directories to collect coverage from 2021-02-04 00:19:13 +00: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 feat: cover viewport and avoid scaling in mobile devices 2021-02-11 12:57:12 +01:00
package.json chore(deps-dev): bump eslint from 7.19.0 to 7.20.0 2021-02-15 00:37:48 +00:00
README.md build: build ssr by default 2021-01-26 16:45:00 +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 chore(deps-dev): bump eslint from 7.19.0 to 7.20.0 2021-02-15 00:37:48 +00: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 uses Yarn as a package manager.

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

Pre-requirements

Jellyfin >=10.7.0

Build Process

# install dependencies
$ yarn install

# server with hot reload at localhost:3000
$ yarn dev

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

# build for production and launch server
$ yarn build
$ yarn start

# build for production in static mode
# you will need a web server to host the client
$ yarn build: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
$ yarn install

# build for production in standalone mode, with server-side rendering
$ yarn 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
$ yarn install
$ yarn start