A modern web client for Jellyfin based on Vue
Go to file
2021-02-09 17:53:09 +00: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): update husky config 2021-02-09 10:36:29 +00: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 fix: reset playback before starting a new one and transitions to logs & activity 2021-01-17 19:19:33 +01:00
components fix(lint): fix resulting linting errors 2021-02-09 17:53:09 +00:00
layouts chore(lint): add vue/html-self-closing eslint rule 2021-02-03 21:39:04 +00:00
locales add missing translation 2021-02-09 13:17:22 +01:00
middleware refactor: address review comments 2021-01-26 19:41:58 +01:00
mixins test(htmlhelper): adds tests for HTML helper 2021-02-04 20:10:23 +00:00
pages fix(lint): fix resulting linting errors 2021-02-09 17:53:09 +00: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 Merge pull request #536 from jellyfin/server-test 2021-02-09 14:41:02 +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(lint): add vue/multiline-html-element to eslint config 2021-02-09 17:51:19 +00: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
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 Merge pull request #630 from jellyfin/get-the-cookie-jar 2021-01-28 20:26:07 +01:00
package.json Merge pull request #656 from jellyfin/test-play-btn 2021-02-09 14:44:52 +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 Merge pull request #656 from jellyfin/test-play-btn 2021-02-09 14:44:52 +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