JellyRoller is an open source CLI Jellyfin Controller written in Rust that works on Windows and Linux. Its primary purpose is to allow administration of a Jellyfin application from the command line.
On the first execution, JellyRoller prompts for information to authenticate as an admin user. Once this authentication has succeeded, an API key is created and stored within the JellyrRoller configuration. JellyRoller then uses the Jellyfin API to manage the server.
Any previous user auth tokens will be converted to an API key upon next execution when upgrading from JellyRoller < 0.3.
jellyroller 0.7.0
A CLI controller for managing Jellyfin
Usage: jellyroller.exe <COMMAND>
Commands:
add-user Creates a new user
add-users Uses the supplied file to mass create new users
create-report Creates a report of either activity or available movie items
delete-user Deletes an existing user
disable-user Disable a user
enable-user Enable a user
execute-task-by-name Executes a scheduled task by name
generate-report Generate a report for an issue
get-devices Show all devices
get-libraries Gets the libraries available to the configured user
get-packages Lists all available packages
get-plugins Returns a list of installed plugins
get-repositories Lists all current repositories
get-scheduled-tasks Show all scheduled tasks and their status
grant-admin Grants the specified user admin rights
install-package Installs the specified package
list-logs Displays the available system logs
list-users Lists the current users with basic information
reconfigure Reconfigure the connection information
register-library Registers a new library
register-repository Registers a new Plugin Repository
remove-device-by-username Removes all devices associated with the specified user
reset-password Resets a user's password
revoke-admin Revokes admin rights from the specified user
restart-jellyfin Restarts Jellyfin
scan-library Start a library scan
search-media Executes a search of your media
server-info Displays the server information
show-log Displays the requested logfile
shutdown-jellyfin Shuts down Jellyfin
update-image-by-id Updates image of specified file by id
update-image-by-name Updates image of specified file by name
update-metadata Updates metadata of specified id with metadata provided by specified file
update-users Mass update users in the supplied file
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
-V, --version Print version
Note: All installation instructions assume the end-user can handle adding the application to their user's PATH.
brew tap LSchallot/JellyRoller https://github.com/LSchallot/JellyRoller
brew install jellyroller
brew install --build-from-source jellyroller
scoop add bucket jellyroller https://github.com/lschallot/jellyroller.git
scoop update
scoop install jellyroller
Currently built with rustc 1.83.0. If building on a Linux machine, you may need to install openssl-devel.
cargo install --git https://github.com/LSchallot/JellyRoller
When running JellyRoller for the first time, you will be prompted to configure against your Jellyfin instance. You will be prompted for various items which are described below.
Prompt | Description |
---|---|
Please enter your Jellyfin URL: | The URL to your Jellyfin instance. Depending on your setup, you may need to provide the port. Examples include http://myjellyfin.lab or http://localhost:8096. |
Please enter your Jellyfin username: | Username with admin rights that JellyRoller will use to execute commands. |
Please enter your Jellyfin password: | Password associated with the username being used. |
As of 0.5.0, it is possible to keep your configuration file alongside of the JellyRoller executable. Simply save your configuration in the same directory with the name "jellyroller.config" and it will be used automatically. Keep in mind that this configurtion file will contain your API key, so secure the file as needed.
See Releases for binaries. I can currently supply builds for x86_64 Windows and x86_64 Linux. Please open an issue if you would like to request an additional format.
Please open issues for feature requests or enhancements.