An open API service indexing awesome lists of open source software.

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

Awesome Lists containing this project

README

          






Gelly

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

Screenshot From 2026-04-03 21-02-02

## 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


Get it on Flathub

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)