Pour le franΓ§ais, rendez-vous ici.
Show what you're listening to on Discord β with album art stored on your own MinIO/S3 instance. Works with Windows (SMTC) and Linux (MPRIS), supporting Chrome, Spotify, VLC, WACUP, and more.
- Detects the active media session automatically (SMTC on Windows, MPRIS on Linux)
- VLC support via its built-in HTTP API
- Album art uploaded to MinIO/S3 with SHA-256 deduplication cache
- Discord Rich Presence with track title, artist, album art, and progress bar
- System tray icon with status indicator (Qt on Windows/Linux, GTK on GNOME)
- Settings window β everything is configured through the UI, no config file to edit
- Auto-update: notified when a new version is available, one click to download and install
- A Discord application (developer portal)
- A MinIO or S3-compatible instance with a public bucket
- (Optional) VLC with the HTTP interface enabled
Download the latest installer from the Releases page and run it. Launch the app β it will appear in the system tray. Open Settings from the tray menu to configure it.
git clone https://github.com/Bit-Scripts/MusicLocal-Discord-Presence.git
cd MusicLocal-Discord-Presence
# Windows
pip install -r requirements-windows.txt
# Linux
pip install -r requirements-linux.txt
python main.pyAll settings are entered through the Settings window, accessible by right-clicking the tray icon.
| Field | Description | Where to find it |
|---|---|---|
| Discord Client ID | Your Discord application's client ID | discord.com/developers/applications β your app β OAuth2 β Client ID |
| MinIO URL | Your MinIO server address (without https://) |
Your MinIO/TrueNAS admin panel, e.g. minio.example.com |
| MinIO Access Key | MinIO access key | MinIO console β Access Keys |
| MinIO Secret Key | MinIO secret key | MinIO console β Access Keys (shown once on creation) |
| MinIO Bucket | Bucket name for album art storage | Create a public bucket in your MinIO console, e.g. coversimage |
| VLC Host | VLC HTTP interface host | Leave localhost if VLC runs on the same machine |
| VLC Port | VLC HTTP interface port | Default is 8080 |
| VLC Password | VLC HTTP interface password | Set in VLC β Tools β Preferences β Interface β Lua HTTP password |
Settings are saved automatically to %APPDATA%\MusicPresence\ (Windows) or ~/.config/MusicPresence/ (Linux).
- Go to discord.com/developers/applications
- Create a new application
- Copy the Client ID and paste it in the Settings window
- Go to Rich Presence β Art Assets and upload player icons with these names:
chrome,spotify,vlc,wacup,default_icon
- Open VLC β Tools β Preferences β show All
- Interface β Main interfaces β check Web
- Interface β Main interfaces β Lua β set a Lua HTTP password
- Restart VLC
- Enter the password in the Settings window under VLC Password
| Player | Platform | Via |
|---|---|---|
| Chrome / Edge / Firefox | Windows | SMTC |
| Spotify | Windows | SMTC |
| WACUP | Windows | SMTC |
| VLC | Windows & Linux | HTTP API |
| Spotify / Clementine / Strawberry / mpv | Linux | MPRIS |
| MPD / SMPlayer / MellowPlayer / Lollypop | Linux | MPRIS |
pip install pyinstaller
pyinstaller MusicPresence.spec --distpath dist --workpath buildThe CI/CD pipeline (GitHub Actions) builds and publishes binaries automatically on each version tag.
MIT β see LICENSE if present.
Inspired by MPRIS-Discord-Presence
