{"id":33541815,"url":"https://github.com/fingel/gelly","last_synced_at":"2026-06-01T20:00:40.127Z","repository":{"id":313301227,"uuid":"1050678804","full_name":"Fingel/gelly","owner":"Fingel","description":"A native music client for Jellyfin and Navidrome/Subsonic","archived":false,"fork":false,"pushed_at":"2026-05-25T21:34:36.000Z","size":1412,"stargazers_count":329,"open_issues_count":13,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-05-25T23:22:57.650Z","etag":null,"topics":["jellyfin","linux","music","navidrome","subsonic"],"latest_commit_sha":null,"homepage":"https://flathub.org/en/apps/io.m51.Gelly","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Fingel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-04T19:14:22.000Z","updated_at":"2026-05-25T21:34:38.000Z","dependencies_parsed_at":"2025-09-05T06:26:15.898Z","dependency_job_id":"4d2c4f24-2628-4956-9668-2f4f36711e48","html_url":"https://github.com/Fingel/gelly","commit_stats":null,"previous_names":["fingel/gelly"],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/Fingel/gelly","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fingel%2Fgelly","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fingel%2Fgelly/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fingel%2Fgelly/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fingel%2Fgelly/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Fingel","download_url":"https://codeload.github.com/Fingel/gelly/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Fingel%2Fgelly/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33790933,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jellyfin","linux","music","navidrome","subsonic"],"created_at":"2025-11-27T01:05:57.989Z","updated_at":"2026-06-01T20:00:40.120Z","avatar_url":"https://github.com/Fingel.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003cimg width=\"150\" height=\"150\" src=\"https://github.com/user-attachments/assets/156e5858-a48e-4ea5-a4e4-6fbcd6644dd7\" align=\"center\" /\u003e\u003cbr /\u003e\n    \u003cbr /\u003e\n    \u003cstrong style=\"font-size: 26px;\"\u003eGelly\u003c/strong\u003e\u003cbr\u003e\n    \u003cem\u003eA native, lightweight music client for Jellyfin and Subsonic. Built with Rust and GTK.\u003c/em\u003e\n    🦀🐧\n\u003c/p\u003e\n\n\u003cimg width=\"807\" height=\"769\" alt=\"Screenshot from 2026-04-25 10-11-15\" src=\"https://github.com/user-attachments/assets/bb7338ca-bc47-41e5-ada2-3bb370060ace\" /\u003e\n\n\n## Features\n\n- [x] Supports both Jellyfin and Subsonic/Navidrome backends\n- [x] MPRIS\n- [x] Lyrics\n- [x] Replaygain\n- [x] Gapless playback \n- [x] Transcoding\n- [x] Search\n- [x] [CLI](#command-line-interface) \n- [x] Playlist management\n- [x] Favorites \n- [x] Smart Playlists \n- [x] [NFC tag support](#nfc-tag-support)\n\n## Installation\n\n### Flatpak\n\n\u003ca href='https://flathub.org/apps/io.m51.Gelly'\u003e\n  \u003cimg width='240' alt='Get it on Flathub' src='https://flathub.org/api/badge?locale=en'/\u003e\n\u003c/a\u003e\n\nGelly is available on Flatpak as [io.m51.Gelly](https://flathub.org/apps/io.m51.Gelly)\n\n    flatpak install io.m51.Gelly\n\n### Arch Linux\n\nGelly is available on the [aur](https://aur.archlinux.org/packages/gelly):\n\n    paru -S gelly\n\n\n### NixOS\n\n    nix-shell -p gelly\n\n## Command line interface\n\nGelly has a few basic command line options that can be sent to the running\ninstance. This is useful for light scripting or if you don't want to deal with\nthe MPRIS interface. Note that most context menus have a \"Copy ID\" option which\ncan be used as an argument to the `--play-x` options.\n\n```\n-n, --next                  Skip to the next track\n-p, --prev                  Go to the previous track\n-t, --play-pause            Toggle play/pause\n-s, --stop                  Stop playback\n-r, --refresh-library       Refresh the library\n--play-album=ALBUM_ID       Play an album by ID\n--play-artist=ARTIST_ID     Play all songs by an artist ID\n--play-song=SONG_ID         Play a specific song by ID\n--big-player                Open the big player\n```\n\n## NFC Tag Support\n\nGelly doesn't directly support reading or writing NFC card but the project \n[Gelly-NFC](https://github.com/Fingel/gelly-nfc) does. It's a simple Python\nscript that can be used to control Gelly via NFC cards using the \n[command line interface](#command-line-interface). Perfect for making a home\nJukebox!\n\nSee [this blog post](https://www.pedaldrivenprogramming.com/2026/05/self-hosted-jukebox-with-nfc-cards/)\nfor more details.\n\n## Connecting with TLS using self signed certificates\n\nThere is currently [an issue with Flatpak](https://gitlab.com/freedesktop-sdk/freedesktop-sdk/-/issues/1905) \nthat prevents sandboxed applications from reading the host's certificate store. This means if you are using\na self-signed certificate on your Jellyfin/Navidrome install, Gelly will be unlikely to be able to connect\neven if you have the cert installed locally.\n\nThere is a workaround: You need to make the cert file available to the flatpak sandbox and then \nset the `SSL_CERT_FILE` env var to point to it. This can be done using a tool like Flatseal. Thank you\n@RodrigoPrestes for [finding this workaround](https://github.com/Fingel/gelly/issues/15#issuecomment-4195533397).\n\nThe other alternative is to use a non flatpak installation method.\n\n  ## Translations\n\n  Gelly needs help with translations! See the \n  [Weblate project page](https://hosted.weblate.org/engage/gelly/) to submit translations via Weblate.\n\n  [![Translation status](https://hosted.weblate.org/widgets/gelly/-/gelly/svg-badge.svg)](https://hosted.weblate.org/engage/gelly/)\n\n## Development\n\nMake sure you have the development libraries for the following installed:\n\n* GTK\n* Libadwaita\n* Gstreamer\n\nThe name of these packages depends on your distribution, \nbut will usually be something like `gstreamer-dev`. Note that Arch Linux includes development libs with the main\npackage, btw, so you don't need to install anything extra.\n\nGelly leverages [gtk-rs](https://gtk-rs.org/) for GTK bindings. \n\nYou will also need a rust compiler installed. Gelly does *not* require any nightly \nfeatures from Rust. \n\nTo make things easy, also install the [just](https://github.com/casey/just) command runner. Building and \nlaunching a development build of Gelly should then simply be a matter of:\n\n    just\n\nAnd installing a release build:\n\n    just release\n    sudo just install\n  \nSee the recipes in the [justfile](justfile) for other useful commands.\n\n\n## Contributing\nSee [CONTRIBUTING.md](CONTRIBUTING.md)\n\n## Special Thanks\n@gabMus for all the great UI work and polish\n\n@dstapp for the Subsonic backend\n\n## Contact\nI hang out on [libera.chat](https://libera.chat/) in [#gelly](irc://irc.libera.chat:6667/%23gelly)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffingel%2Fgelly","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffingel%2Fgelly","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffingel%2Fgelly/lists"}