Part of the Jellyfin Project
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.
This project requires Node 16 and uses npm as a package manager.
You also need the following Jellyfin server version:
Jellyfin >=10.7.0
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
# 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
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