MCPcopy Index your code
hub / github.com/Arthi-chaud/Meelo

github.com/Arthi-chaud/Meelo @v3.11.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.11.1 ↗ · + Follow
2,849 symbols 10,197 edges 715 files 118 documented · 4% updated todayv3.11.1 · 2026-07-02★ 1,15858 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

**

FeaturesSetupScreenshotsWiki

**

Welcome! Meelo is a self-hosted music server. It works similarly to Plex, Jellyfin, Koel and Black Candy, but focuses on flexibility, browsing and listening experiences. Actually, Meelo is designed for music collectors. What does it mean? Scroll down to see our killer features :arrow_heading_down:

While the software aims to be a flexible as possible, it requires a little bit of setup. However, once everything is ready, you will just have to sit back, relax, and enjoy your music. :sunglasses:

:star: Features

Meelo has all the basic features you might expect from a music player/server (playback, browsing, search, playlists, libraries ...). But it comes with a handful of features that make it unique :star_struck:

  • Music Videos are first-class citizens
  • Access them directly from an album's, artist's or song's page
  • We also differentiate music video from interviews, behind-the-scenes, trailers...
  • Identifies B-Sides
  • Meelo shows you any tracks that could be related to an album directly on the album's page!
  • ... and Rare tracks
  • And show them on the artist's page, so that these rare gems do not get lost and forgotten!
  • Automatic 'featuring' and duet detection
  • Albums have releases
  • Meaning that you can have multiple versions of a single album
  • But only its main version would appear on browsing pages
  • Of course, you can still access its other versions, directly from the album's page
  • Songs have tracks
  • It is pretty much the same as for albums and releases
  • No duplicated songs when browsing your library!
  • Songs have versions
  • See an example here
  • Album and Song types
  • Finding instrumental songs or live recordings has never been this simple!
  • Filter Songs that are exclusive to an album (for compilation albums only)
  • Supports all formats!
  • Thanks to transcoding and the way we parse files, any audio and video format is virtually supported
  • (Note: Transcoding is only used when the file format is not supported in the browser)
  • Flexible metadata parsing
  • Use either the embedded metadata or the file's name (or both!) to extract metadata
  • Also works with album covers!
  • Get genres, descriptions, and ratings using MusicBrainz, Genius, Wikipedia and many other providers!
  • Push Scrobbles to ListenBrainz and LastFM!
  • Download (synced) lyrics or get them from embedded metadata and .lrc files

Keep track of the upcoming features here.

:iphone: Mobile App

Meelo has a mobile app for both Android and iOS :tada:.

You can find the known issues and the list of upcoming features here.

  • Android: You can download the latest stable APK on the release page. More info here
  • iOS: The app is distributed using TestFlight. More info here

APKs and IPAs are also built whenever code is pushed to the main branch. Check out this worklow

🔧 Setup

:whale: Meelo is shipped though Docker images.

:point_right: To get started, follow the dedicated wiki

We love embedded metadata here. Make sure your music is correctly tagged before getting started!

[!NOTE] If you want to rely on the file paths as metadata sources, you might need to be familiar with Regexes!

:camera: Screenshots

:point_right: You can find more screenshots of the UI here

[!NOTE] Some screenshots may be outdated and may not show the state of the latest version of the app. Some minor details may change (e.g. logo, spacing, etc.)

:desktop_computer: Live Demo

We are actively working on a public demo, so that you can try out Meelo. Stay tuned...

🌐 Translation

Meelo uses Weblate to handle translations. Feel free to contribute here!

Stats

🫂 A big thank you to all the translators who contributed!

Any questions about this? Open a discussion here!

:handshake: Contributing and Bugs reporting

:thinking: Is there a feature you would like to have? Open an issue, and we will be happy to discuss it!

:wrench: Need help with the setup process? Open a discussion here.

:bug: Have you encountered a bug? Ugh we don't like 'em here! Report it by opening an issue.

:hammer: Would you like to contribute to Meelo? Feel free to open a pull request.

💖 Our Sponsors

Thanks to the amazing folks who support this project:

Want to support Meelo? Become a sponsor

:warning: Disclaimer

[!WARNING] Meelo is intended for private use only! Do not use your instance as a public downloading platform. It is not intended to support heavy traffic, and it should not be used to illegally share/download copyrighted media.

The maintainers are not responsible for any misuse of the software.


Get ready to make the most out of you music collection!

Coverage (Back-end) Maintainability Rating Docker Pulls

Extension points exported contracts — how you extend this code

Scrobbler (Interface)
(no doc) [3 implementers]
server/src/scrobbler/scrobblers/scrobbler.ts
Lyrics (Interface)
(no doc)
scanner/internal/lyrics.go
CustomTypeOptions (Interface)
(no doc)
front/packages/utils/src/i18next.d.ts
MyAppProps (Interface)
(no doc)
front/apps/web/src/pages/_app.tsx
UnistylesThemes (Interface)
(no doc)
front/apps/mobile/src/theme/index.ts
UnistylesBreakpoints (Interface)
(no doc)
front/apps/mobile/src/theme/index.ts

Core symbols most depended-on inside this repo

request
called by 377
scanner/internal/api/api.go
toString
called by 199
server/src/slug/slug.ts
get
called by 141
matcher/matcher/context.py
catch
called by 99
server/src/exceptions/all-exceptions.filter.ts
get
called by 84
server/src/song/song.service.ts
create
called by 82
server/src/area/area.service.ts
get
called by 70
server/src/release/release.service.ts
expectedSongResponse
called by 53
server/test/expected-responses.ts

Shape

Function 1,045
Method 958
Class 783
Struct 29
Route 11
TypeAlias 11
Interface 6
Enum 5
FuncType 1

Languages

TypeScript78%
Python16%
Go6%

Modules by API surface

front/packages/api/src/index.ts52 symbols
front/packages/api/src/queries.ts49 symbols
matcher/matcher/providers/features.py44 symbols
matcher/matcher/providers/boilerplate.py41 symbols
server/src/illustration/illustration.exceptions.ts39 symbols
matcher/matcher/providers/musicbrainz.py36 symbols
server/src/song/song.service.ts30 symbols
matcher/matcher/api.py29 symbols
server/src/user/user.exceptions.ts27 symbols
server/src/playlist/playlist.service.ts25 symbols
server/src/parser/parser.service.ts24 symbols
matcher/matcher/providers/genius.py22 symbols

For agents

$ claude mcp add Meelo \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact