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](https://yarnpkg.com/getting-started/install) as a package manager.
## Contributing
We provide a [devcontainer](https://code.visualstudio.com/docs/remote/containers) to help you setup your environment.
The project also contains recommended extensions for [Visual Studio Code](https://code.visualstudio.com/), which will help you with syntax style and development.
Finally, we provide useful pre-commit hooks via [Husky](https://typicode.github.io/husky/#/), as well as [Comitizen](https://github.com/commitizen/cz-cli) 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](https://github.com/jellyfin/jellyfin-vue/blob/master/CONTRIBUTING.md)
## Pre-requirements
```
Jellyfin >=10.7.0
```
## Build Process
```bash
# 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.
```bash
# 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
```