https://github.com/fingel/gelly
A native music client for Jellyfin and Navidrome/Subsonic
https://github.com/fingel/gelly
jellyfin linux music navidrome subsonic
Last synced: 12 days ago
JSON representation
A native music client for Jellyfin and Navidrome/Subsonic
- Host: GitHub
- URL: https://github.com/fingel/gelly
- Owner: Fingel
- License: gpl-3.0
- Created: 2025-09-04T19:14:22.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2026-04-05T23:15:17.000Z (13 days ago)
- Last Synced: 2026-04-06T00:26:14.033Z (13 days ago)
- Topics: jellyfin, linux, music, navidrome, subsonic
- Language: Rust
- Homepage: https://flathub.org/en/apps/io.m51.Gelly
- Size: 862 KB
- Stars: 239
- Watchers: 2
- Forks: 5
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README

Gelly
A native, lightweight music client for Jellyfin and Subsonic. Built with Rust and GTK.
🦀🐧

## Features
- [x] Supports both Jellyfin and Subsonic/Navidrome backends
- [x] MPRIS
- [x] Lyrics
- [x] Replaygain (Jellyfin only)
- [x] Transcoding
- [x] Search
- [x] Playlist management
- [x] Smart Playlists
## Installation
### Flatpak
Gelly is available on Flatpak as [io.m51.Gelly](https://flathub.org/apps/io.m51.Gelly)
flatpak install io.m51.Gelly
### Arch Linux
Gelly is available on the [aur](https://aur.archlinux.org/packages/gelly):
paru -S gelly
### NixOS
nix-shell -p gelly
## Using Self Signed Certificates with Jellyfin
There is currently [an issue with Flatpak](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/issues/1905)
that prevents sandboxed applications from reading the host's certificate store. This means if you are
hosting Jellyfin on a server with self-signed certificates which you have installed on the system
where you are trying to use the Gelly Flatpak, it will probably fail to connect.
[#15](https://github.com/Fingel/gelly/issues/15) tracks this issue. The workaround for now is to
use an alternative installation method other than Flatpak or to connect without TLS.
I am looking for someone to help test using alternative TLS backends for reqwest
that might fix this issue.
## Development
Make sure you have the development libraries for the following installed:
* GTK
* Libadwaita
* Gstreamer
The name of these packages depends on your distribution,
but will usually be something like `gstreamer-dev`. Note that Arch Linux includes development libs with the main
package, btw, so you don't need to install anything extra.
Gelly leverages [gtk-rs](https://gtk-rs.org/) for GTK bindings.
You will also need a rust compiler installed. Gelly does *not* require any nightly
features from Rust.
To make things easy, also install the [just](https://github.com/casey/just) command runner. Building and
launching a development build of Gelly should then simply be a matter of:
just
And installing a release build:
just release
sudo just install
See the recipes in the [justfile](justfile) for other useful commands.
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md)
## Special Thanks
@gabMus for all the great UI work and polish
@dstapp for the Subsonic backend
## Contact
I hang out on [libera.chat](https://libera.chat/) in [#gelly](irc://irc.libera.chat:6667/%23gelly)