-
-
Notifications
You must be signed in to change notification settings - Fork 34
Architecture
Arthur Jamet edited this page May 21, 2025
·
1 revision
There is a flowchart of how the components of Meelo interact with each other:
---
title: Meelo's Services
config:
theme: base
---
flowchart LR
Providers@{ shape: procs, label: "ExternalProviders"}
Front("Front-end application")
API("API")
Scanner("Scanner")
Matcher("Matcher")
DB[("Database")]
MQ@{ shape: bow-rect, label: "Rabbit MQ" }
Meili[("MeiliSearch")]
FS[/"FileSystem"\]
Settings[[Settings File]]
Nginx[[Nginx]]
User(User)
Transcoder(Transcoder)
User -- Any HTTP request --> Nginx
Nginx --> Front
Nginx --> API
API -- Proxy --> Transcoder
Transcoder --> FS
Nginx --> Scanner
Front -- Fetch data, push played songs--> API
Scanner -- Push file metadata --> API
Scanner -- Lookup files --> FS
Scanner --> Settings
Matcher -- Push metadata from external providers --> API
Matcher -- Receives events --> MQ
Matcher --> Settings
Matcher -- Look up additional metadata (Lyrics, artist image, ratings, ...) --> Providers
API -- Persist data --> DB
API --> Settings
API -- Index search data --> Meili
API -- Push event on item creation --> MQ
API -- Save and serve illustrations --> FS
Settings -- Stored on --> FS
-
Setup
-
Features
- Artworks, Thumbnails & Avatars
- Playlists
- Lyrics
- Extras
- Genres
- Providers
- Sort Names
- Metadata
- Relations
- Administration
- Misc
-
Contributing